到目前为止,我已经看到了一些关于正则表达式的问题,有些问题非常有帮助,但是我在获取需要的结果时遇到了一些麻烦......
帮助我学到很多东西的其中一个问题是:Regular expression to match numbers with or without commas and decimals in text
上述问题中隐含的表达是:
(:?^|\s)((?:[1-9]\d{0,2}(?:(?:,\d{3})*|\d*)|0|(?=\.))(?:\.\d*[1-9])?)(?!\S)
它将允许以下内容:
100,000
999.999
90.0009
1,000,023.999
0.111
.111
0
......而不喜欢:
1,1,1.111
000,001.111
999.
0.
111.110000
1.1.1.111
9.909,888
现在没关系,但我不想允许:
0.111
.111
0
我不想允许超过2位小数,因此不接受100.333,而100.33通过就好了。我也不希望任何以0开头的东西都通过。
这是我第一次处理正则表达式,我理解stackoverflow在问我看过这个问题时给了我一些建议,但我现在真的不明白 - 如果你能帮我理解它是什么的我需要改变,为什么,我真的很感激。
答案 0 :(得分:3)
您可以使用以下内容:
(:?^|\s)((?:[1-9]\d{0,2}(?:(?:,\d{3})*|\d*)|(?=\.))(?:\.\d{0,2})?)(?!\S)
^ ^^^^^
将\d*[0-9]
更改为\d{0,2}