正则表达式匹配Ipv4与掩码

时间:2015-06-02 07:42:07

标签: regex

我正在通过正则表达式验证Ipv4地址,但它不支持子网掩码。

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

有人可以帮助我使用支持掩码的正则表达式。

以下是此正则表达式的一个有效示例: demo

2 个答案:

答案 0 :(得分:2)

在正则表达式的末尾添加(?:/[0-2]\d|/3[0-2])?。您还可以简化正则表达式:

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

答案 1 :(得分:0)

在您的示例中,如果您希望它匹配两个地址,请删除开始^和尾随$