我正在寻找一种模式来匹配末尾带有连字符的数字,如下所示:
125,000-
1.234,567-
60,000-
只需尝试以下正则表达式:
/\d[.,\d]*-/
甚至:
/\d([.,]?\d+)*-/
注意 Aleš Krajník 的答案与我最终得到的答案基本相同,除了他使用非捕获分组(因为不需要捕获)......他应该像第一次一样获得投票恕我直言
请注意,在下面的答案中,我假设,
逗号是小数点分隔符,而.
点是千位分隔符(例如,对于欧洲编号)。
我相信以下是“正确的”:
^\d{1,3}(.\d{3})*(,\d+)?-$
这匹配例如:
但不会匹配,例如
确切的正则表达式应为:\d{1,3}(?:\.\d{3})*(?:,\d+)?-
尝试这样的事情:
[0-9.,]+-
\d{1,3}(?:[,]\d{3})*-
考虑到国际化。下面的一个允许字符串1..9
匹配,这确实不应该。