用空格分隔的ipv4地址的正则表达式

时间:2018-08-16 17:04:05

标签: regex

我在this答案中找到了ipv4的正则表达式。

是:

^(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:?\.|$)){4})$

对于我来说很明显,对于以空格分隔的ipv4地址,此正则表达式将起作用:

^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4})( ((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4})*$

“连接”地址的想法与用空格分隔的数字相同:

^[0-9]( [0-9])*$

但是令人惊讶的是,它不适用于更复杂的正则表达式,例如ipv4地址。为什么?

我试图用ip地址简化这种情况,并意识到正则表达式:

^(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:?\.|$)){4}) $

与字符串1.2.3.4(末尾的空格)不匹配。为什么?

为什么我的尝试不起作用,以及(可选)用空格分隔的ipv4地址的正确正则表达式是什么?

我使用this服务来测试我的正则表达式。

0 个答案:

没有答案