【发布时间】:2014-09-24 07:57:19
【问题描述】:
在.Net4.5中,我发现
的结果System.Text.RegularExpressions.Regex.IsMatch(
"00000000000000000000000000000", "^[1-9]|0$")
是真的。
我期望的结果是假的。我不知道为什么。你能帮帮我吗?
更新:
一开始,我正在验证用于匹配互联网上的整数的正则表达式^-?[1-9]\d*|0$,我发现具有多个0 的字符串与正则表达式匹配。
【问题讨论】:
-
Regex 匹配您的输入 - 右侧有解释。:regex101.com/r/fB9yK0/1
-
为什么你认为它是假的?你认为正则表达式想要表达什么?您是否希望它表现得像
^([1-9]|0)$? -
@RayToal 在我知道答案之前,我认为
^[1-9]|0$等于^[0-9]$。 -
@RayToal 我已经添加了
Update。 -
@pwas 当 OP 询问 .NET 正则表达式时,这不是 PCRE 吗?