用正则表达式匹配一个0.0.0.0-255.255.255.255的一个ip地址

不能是010.010.010.010也就是说第一位不能为0除了0.0.0.0除外

^(((25[0-5]|2[0-4][0-9]|1\d\d|[1-9]\d|[1-9])\.){3}(25[0-5]|2[0-4][0-9]|1\d\d|[1-9]\d|[1-9]))$|^(0\.){3}0$
有点长,但是应该很准确。具体规则:
1、由A.B.C.D形式组成
2、A、B、C、D取值区间为[1,255]
3、0.0.0.0 不适用规则2
不知道是不是表达这个意思,上面的匹配不到192.168.0.1。
还是只是A不为0,BCD可以为0。这样的话可以改为
^(25[0-5]|2[0-4][0-9]|1\d\d|[1-9]\d|[1-9])(\.(25[0-5]|2[0-4][0-9]|1\d\d|[1-9]\d|[1-9]|0)){3}$|^(0\.){3}0$
下面这个应该更符合IP规则,可以匹配到:0.0.0.0, A.0.0.0。但匹配不到0.B.C.D,ABCD为u为0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-19
((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))本回答被网友采纳
相似回答