REGEX字符串与.NET的货币兼容



到目前为止,我已经看到了有关正则犯罪分子的几个问题,有些是非常有帮助的,但是我很难得到我需要的结果...

有助于我学到很多东西的问题之一是:正式表达

上述问题中私有的表达方式是:

(:?^|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个十进制位置超过2个位置,因此100.333不会被接受,而100.33可以通过。我也不希望从0开始。

开始。

这是我第一次与Regex打交道,我知道Stackoverflow在问我看过的问题时给了我一些建议,但我现在真的不明白这一点 - 如果您可以帮助我理解它的内容是我需要改变,为什么,我真的很感激。

您可以使用以下内容:

(:?^|s)((?:[1-9]d{0,2}(?:(?:,d{3})*|d*)|(?=.))(?:.d{0,2})?)(?!S)
                                           ^              ^^^^^

d*[0-9]更改为d{0,2}

相关内容

  • 没有找到相关文章