我正在通过正则表达式验证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
a14dhokn1#
在正则表达式的末尾添加(?:/[0-2]\d|/3[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])?$
xjreopfe2#
在您的示例中,如果希望它与两个地址都匹配,请删除开头的^和结尾的$
bjg7j2ky3#
下面是一个正确的IPv4子网正则表达式,没有任何与正确符号匹配的lookahead。
掩码可选版本:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2]?\d))?$
匹配示例:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\/(3[0-2]|[1-2]?\d)$
3条答案
按热度按时间a14dhokn1#
在正则表达式的末尾添加
(?:/[0-2]\d|/3[0-2])?
。你也可以简化正则表达式:xjreopfe2#
在您的示例中,如果希望它与两个地址都匹配,请删除开头的^和结尾的$
bjg7j2ky3#
下面是一个正确的IPv4子网正则表达式,没有任何与正确符号匹配的lookahead。
掩码可选版本:
匹配示例:
拒绝示例:
Mask REQUIRED Version:如果您想要一个需要掩码的版本,请使用以下内容: