验证正则表达式不允许单个数字0

时间:2018-05-25 08:53:01

标签: regex dojo

我尝试过很多例子来禁止一个数字0。最接近的工作是[^0],但匹配2030等。我只想匹配0

2 个答案:

答案 0 :(得分:2)

使用开始和结束锚点匹配整个输入为零:

^0$

要匹配字符串中的单个零,请使用字边界:

\b0\b

在输入中禁止一个单独的零使用上面的负面预测。

^(?!.*\b0\b).*

答案 1 :(得分:1)

如果你想匹配不是零,但想要允许你可能使用的正数和负数。这使用锚点^$来断言字符串的开头和结尾。

^[+-]?[1-9][0-9]*$

如果不使用锚点,您可以使用单词边界\b

[+-]?\b[1-9][0-9]*\b

这将匹配可选的加号或减号[+-]?,一个1 - 9 [1-9]的数字,因此它不匹配零,后跟数字[0-9]* <的零次或多次/ p>