正则表达式来允许“单0”或“数字任何其他数量
我需要一个正则表达式允许一个单一的0或任何其他数量的数字不以零所以开始:正则表达式来允许“单0”或“数字任何其他数量
0或23443或984756被允许的,但0123是不允许的。
我有只允许1到9
[1-9]\d
回答:
查找以下一个孤独的0或1-9跟任何其他数字。
^(0|[1-9]\d*)$
如果你想大字符串里的匹配号码,使用字界碑\b
代替^
和$
:
\b(0|[1-9]\d*)\b
回答:
你并不需要的一切迫使成一个单一的正则表达式去做这个。
如果您使用多个正则表达式,每个正则表达式都会进行特定的检查,这会更加清晰。在Perl中,你会这样做,但你可以适应C#就好了。
if (($s eq '0') || (($s =~ /^\d+$/) && not ($s =~ /^0/)))
你已经做了明确清晰的意图是什么:
if ((string is '0') OR ((string is all digits) AND (string does not start with '0')))
注意,第一次检查,看是否该字符串0
甚至不使用正则表达式可言,因为你是在比较到一个单一的价值。
让您的宿主语言的表现形式被使用,而不是试图将逻辑嵌入到正则表达式中。
以上是 正则表达式来允许“单0”或“数字任何其他数量 的全部内容, 来源链接: utcz.com/qa/260204.html