Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 带通配符的多个邮政编码的正则表达式_Regex - Fatal编程技术网

Regex 带通配符的多个邮政编码的正则表达式

Regex 带通配符的多个邮政编码的正则表达式,regex,Regex,我必须验证一个逗号分隔的邮政编码列表,如“95123,95%,95222,95%-8_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 我有一个正则表达式^\d{5}(?\d{4})(,\d{5}(?\d{4})*)*$可以获得没有下划线和百分比字符的有效拉链。如何修改正则表达式以处理示例字符串?为什么不将字符串拆分为逗号,然后在每个邮政编码上使用正则表达式?只要您不太担心验证: (?:^|,\s*)([0-9\x25_]{1

我必须验证一个逗号分隔的邮政编码列表,如“95123,95%,95222,95%-8_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


我有一个正则表达式^\d{5}(?\d{4})(,\d{5}(?\d{4})*)*$可以获得没有下划线和百分比字符的有效拉链。如何修改正则表达式以处理示例字符串?

为什么不将字符串拆分为逗号,然后在每个邮政编码上使用正则表达式?

只要您不太担心验证:

(?:^|,\s*)([0-9\x25_]{1,5}(?:-[0-9\x25_]{1,4})?)
这应该满足您的需要,只需执行“全部匹配”即可获得每个条目


注意:我不会做任何检查来确保他们有足够的数字(比如无效123\u%2\uu-\uu23例如,如果
\u
只表示“1个字符”)

这是个好问题。这是因为我的验证器使用正则表达式(regex),而绕过它将比获得一个合适的正则表达式(我希望)要做更多的工作。谢谢,就快到了。如果用户输入“12345,12%”,则正则表达式应匹配。如果他们输入“12345-1”或“95”,则不应输入。在expresso中,正则表达式匹配无效的zip格式。此正则表达式非常接近。它唯一没有做的就是允许%作为zip^(([\d\x5F]{5})|([\d\x5F]{1,4}\x25))([\d\x5F]{4})|([\d\x5F]{1,3}\x25))\s*,\s*([\d\x5F]{5})([\d\x5F]{1,4}\x25])([\d\x5F]{4}{4}){d\x5F*)$