正则表达式只接受2个地方

Viv*_*ekh 8 c# regex

大家好我需要所有这些可能的情况才有效

123
123.1
123.12
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$但没有任何人可以帮助我

Spu*_*ley 14

试试这个:

^[0-9]*(\.[0-9]{1,2})?$
Run Code Online (Sandbox Code Playgroud)

基于您的第二个示例,但允许一个或两个小数位,并使整个小数部分可选.

[编辑]

OP已经改变了问题的标准 - 见下面的评论.他现在想要小数点前的数字只允许最多六位数,并要求我编辑适合的答案.

所需要的只是用*(对于任意数量的数字)替换{0,6}(对于0到6位数字).如果你想要至少一个数字,那就是{1,6}.

这是修改后的正则表达式:

^[0-9]{0,6}(\.[0-9]{1,2})?$
Run Code Online (Sandbox Code Playgroud)


Jef*_*ker 5

试试......

^\d{1,6}(?:\.\d{1,2})?$
Run Code Online (Sandbox Code Playgroud)

*按照建议编辑,使其不被捕获.