验证正则表达式以禁止单个数字 0

Validation Regex to disallow a single digit 0

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

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

^0$

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

\b0\b

禁止输入中的单独零使用上面的负面展望。

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

如果您不想匹配零,但又想允许正数和负数,您可以使用。这使用锚 ^$ 断言字符串的开始和结束。

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

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

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

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