我创建了一个正则表达式以匹配字符串是否包含所有“零”。输入框中不允许使用“全零”。我已经达到了这一要求,但这是一个hard-coded
。
我写的正则表达式如下:
(^[a-zA-Z](?!(0000000|000000\b|00000\b|0000\b|000\b|00\b|0\b))[0-9]{1,7}$)
我该如何解决这个问题?
答案 0 :(得分:1)
假设您当前的模式正在实现您想要的功能,则可以通过对0+$
使用负前行来简化它,确保第一个字符后没有 only 零:
^[a-zA-Z](?!0+$)[0-9]{1,7}$
答案 1 :(得分:1)
您还可以将组()
与 | 结合使用,并为您的模式创建匹配项,也许类似于this RegEx:
^[A-Za-z](([1-9]+)|(0+[1-9]))$
您可以将其与其他边界绑定,例如数字或 alpha 的字符数。