我有这个正则表达式:
^[ 0-9A-Z] [ 0-9]{4}[0-9][/ ][ 0-9A-z]$
并且工作正常,但现在我必须以这种方式排除构造[ 0-9]{4}[0-9]
中的0。
字符串A 0/A
应该不匹配
字符串A 10/A
应该匹配
所以我必须检查第二组中第一次出现的数字是否为0
。
我该怎么做? 如果任何事情或一切都不清楚,那就这么说吧。
答案 0 :(得分:2)
所以我必须检查第二组中第一次出现的数字是否为0。
我认为你需要一个负面的预测:
^[ 0-9A-Z] (?! *0)[ 0-9]{4}[0-9][/ ][ 0-9A-Za-z]$
^^^^^^^
请参阅regex demo。
由于[ 0-9]{4}[0-9]
匹配4个数字或空格(可能只有4个空格)且[0-9]
匹配数字强制,(?! *0)
将会生成确保上面的模式与0
后面的空格不匹配。