正则表达式,用于将特殊的字母数字模式与零匹配

时间:2019-04-25 00:50:20

标签: regex

我创建了一个正则表达式以匹配字符串是否包含所有“零”。输入框中不允许使用“全零”。我已经达到了这一要求,但这是一个hard-coded

我写的正则表达式如下:

(^[a-zA-Z](?!(0000000|000000\b|00000\b|0000\b|000\b|00\b|0\b))[0-9]{1,7}$)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

假设您当前的模式正在实现您想要的功能,则可以通过对0+$使用负前行来简化它,确保第一个字符后没有 only 零:

^[a-zA-Z](?!0+$)[0-9]{1,7}$

https://regex101.com/r/neOfJm/1

答案 1 :(得分:1)

您还可以将组() | 结合使用,并为您的模式创建匹配项,也许类似于this RegEx

^[A-Za-z](([1-9]+)|(0+[1-9]))$

enter image description here

您可以将其与其他边界绑定,例如数字 alpha 的字符数。