我发现这个正则表达式可以找到1.00或1.00的价格。但对于长度为3位或更长的值(如“365”),它也会返回true。
/([\d,]+.\d+)+/i
无论如何都要修改此正则表达式,以便对所有类型的浮点价格返回true,但不包括3个连续数字,如“365”或“1000”等:
1.00 $ 1.00包装
答案 0 :(得分:2)
这应该找到所有带有小数点的单位数字。所以:
1.xxx
2.xxx
...
9.xxx
但不是
365
或365.000
/(\d\.\d+)/i
答案 1 :(得分:1)
如果我没有记错,而不是'。',你需要使用'\。'。你拥有的东西会匹配任何东西,而第二个匹配角色'。'
/([\d,]+\.\d+)/
答案 2 :(得分:0)
.
匹配所有内容,所以,逃避它:
/([\d,]+\.\d+)+/i
我甚至会这样做:
/\d{1,3}(,?\d{3})*\.\d+)+/i
答案 3 :(得分:0)
如果您希望在一段文字中匹配价格,例如:
1.00是有效价格,因此是1.50美元和10.12美元,但不是200.90美元或 £1000.10
然后,这将返回1.00
,$1.50
和$10.12
作为匹配。
(^|\W{1})\d{1,2}\.\d{2}
答案 4 :(得分:0)
您可以使用{a,b}
\d{1,2}\.\d{2}$