Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 用逗号分隔的多个IP的正则表达式_Regex - Fatal编程技术网

Regex 用逗号分隔的多个IP的正则表达式

Regex 用逗号分隔的多个IP的正则表达式,regex,Regex,我打算构建一个正则表达式,它将与用逗号分隔的IP块相匹配。 就我所知,ips是一个正则表达式,逗号后跟一个特征线字符,但我需要设置这个条件: 如果threre是最后一行(无特征线字符),则逗号是可选的 如果还有其他内容,则必须是逗号后跟特征线 请帮我完成正则表达式好吗 这是我正在建立的正则表达式 ((25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5

我打算构建一个正则表达式,它将与用逗号分隔的IP块相匹配。 就我所知,ips是一个正则表达式,逗号后跟一个特征线字符,但我需要设置这个条件:

如果threre是最后一行(无特征线字符),则逗号是可选的 如果还有其他内容,则必须是逗号后跟特征线

请帮我完成正则表达式好吗

这是我正在建立的正则表达式

((25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)(,\n)?)*
这是测试块

192.168.1.1,
192.56.3.23,
189.35.2.2,
198.23.45.56
192.168.3.24
198.23.45.56不应该有效,因为它不是最后一行,并且在行尾没有逗号

我正在使用这个在线验证器来测试正则表达式

问候。

试试这个:

((25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)(,\n|,?$))

并使用“g”标志包含多个匹配项(“中的点匹配全部”复选框)。

如果使用如此严格的方案,为什么需要正则表达式。请尝试myIpList=myIpString.split(',\n')

,它不会强制使用IPv4地址。它也不会拆分列表中的最后两个地址。@Roy这是因为我正在使用这个jquery插件,并且我试图在这个方法中扩展这个正则表达式@PinnyM:alexserver说最后一个地址无效,因为它没有逗号。亚历克斯:很高兴听到你找到了解决办法实际上,您的修改帮助了我,我做了一些修改,因为我想验证整个块,而不是任何行,并进行全局匹配。谢谢你,顺便说一句,这是我使用的正则表达式((25[0-5]| 2[0-4]\d |[01]?\d\d?)。(25[0-5]| 2[0-4]\d |[01]?\d\d?)。(25[0-5]| 2[0-4]|[01]| d\d?)。(25[0-5]| 2[0-4]|[0-4]|[01]| d\d\d?)d?)。(,\n*,\n |可以用两个逗号分隔,例如192.1.3.192.1