gpt4 book ai didi

javascript - 带或不带逗号的十进制正则表达式

转载 作者:行者123 更新时间:2023-11-28 11:25:44 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式,允许带或不带逗号的小数。

我有 -

^[0-9]*((,\d{3})?(,\d{3})?(,\d{3})?)*(\.[0-9]{1,10})?$ 

这似乎在 reg ex tester 中工作,但是当我将它放入我的代码中时它不起作用。如果 1,000.00 失败,但不是 1,000

我需要它接受 1, 1000, 1000.00, 1,000,000.123, 1223.456, 1,000,123.928 等。

最佳答案

这个正则表达式似乎有效(试试 here ),但它有点过于复杂,同时允许不一致地使用 , (即 12345,789,000.123)。这应该可以解决这个问题:

^\d{1,3}(?:(,?)\d{3}(?:\1\d{3})*)?(?:\.\d{1,10})?$

通过使用反向引用 (\1),您可以确保 , 要么始终使用,要么从不使用。

. 前面的数字设置为可选,同时仍要求将它们放在 , 前面也是可能的,但稍微复杂一点:

^(?:\d{1,3}(?:(,?)\d{3})?)?(?:\1\d{3})*(\.\d{1,10})?$

关于javascript - 带或不带逗号的十进制正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com