正则匹配IP地址

作者:enenba | 发表于:2012-01-04 22:57 | 分类:正则表达式

如何用PHP正则表达式匹配IP地址,以下为IPV4的正则匹配

好长一段正则,但也是比较完整的匹配,现在我还没找到简单的又完美版本,就拿这长段做为模板

可以匹配 0.0.0.0 ~ 255.255.255.255

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

 

这是另一个版本,也没错,简单就好 

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

 

 

简单解释:因为两句都重复了这一段

25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?

 

25[0-5]                250~255

2[0-4][0-9]           200~249 

[01]?[0-9][0-9]?    000~199

 

第一个正则直接重复写了3次

 

最后一个正则用了

{3}  让这一组正则精简了代码

 

 

 

上一篇: PHP验证身份证的正则表达式   |   下一篇:日期格式的正则匹配» 标签: 正则匹配 正则表达式

评论: