Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 不使用';不接受单个0,但接受10_Regex_Swift - Fatal编程技术网

Regex 不使用';不接受单个0,但接受10

Regex 不使用';不接受单个0,但接受10,regex,swift,Regex,Swift,我有一个正则表达式: ^[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 我认为你需要一个消极的前瞻: ^[ 0-9A-Z] (?! *0)[ 0-9]{4}[0-9][/ ][ 0-9A-Za-z]$

我有一个正则表达式:

^[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

我认为你需要一个消极的前瞻:

^[ 0-9A-Z] (?! *0)[ 0-9]{4}[0-9][/ ][ 0-9A-Za-z]$
           ^^^^^^^


由于
[0-9]{4}[0-9]
匹配4个数字或空格(可能只有4个空格),并且
[0-9]
强制匹配一个数字,
(?!*0)
将确保上面的模式不会只匹配后面跟
0

的空格,可能吧?可以公平地说,您的字符串长度每次都是相同的吗?这将是一个非常有用的简化假设。nice将检查这是否符合我的需要,非常抱歉,我在复制/粘贴时错过了:
[a-z]
必须替换为
[a-Za-z]
,否则您也将匹配
[
]
^
`
。此外,如果是为了验证,您最好在结尾使用
\z
,而不是
$
(在Swift中,
让rx=“^[0-9A-z](?!*0)[0-9]{4}[0-9][/][0-9A-Za-z]\\z”
)。