Regex 排除特定数字正则表达式

Regex 排除特定数字正则表达式,regex,Regex,我已经编写了一个正则表达式来排除特定的数字00、000和255 我正在使用正则表达式-^((?!255 | 00 | 000)[1-9]*)$ 我面临的问题是,当我输入80或任何其他以0结尾的数字时,它也会排除我不想要的数字尝试以下版本: ^(?!(?:255|00|000)$)[0-9]*$ 我所做的主要更改是允许在否定前瞻断言之后使用任何数字。这应该没问题,因为此时您已经声明您的黑名单编号00、000和255没有出现。这不包括0000,然而,@blhsing在SO regex问题上丢失边

我已经编写了一个正则表达式来排除特定的数字00、000和255

我正在使用正则表达式-
^((?!255 | 00 | 000)[1-9]*)$

我面临的问题是,当我输入
80
或任何其他以
0
结尾的数字时,它也会排除我不想要的数字

尝试以下版本:

^(?!(?:255|00|000)$)[0-9]*$


我所做的主要更改是允许在否定前瞻断言之后使用任何数字。这应该没问题,因为此时您已经声明您的黑名单编号
00
000
255
没有出现。

这不包括
0000
,然而,@blhsing在SO regex问题上丢失边缘案例的概率:非常高:-)对数字范围使用regex就像使用大锤钉小钉子一样。这可能有用,但你会受伤的。最好使用合适的工具来完成这项工作——提取数字并在脚本或程序中过滤掉。