正则表达式匹配,心得,一个处理ip地址的正则表达式,完美匹配IP地址

今天有个需求要匹配ip地址
刚开始想简单的 用如下的来匹配
ip地址匹配正则表达式
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.
但想想不太适合,能过滤简单的ip,但是也匹配类似333.333。333.333类似的ip
从网上找了一段代码:
如下正则表达式
((25[0-5])|(2[0-4]/d)|(1/d/d)|([1-9]/d)|/d)(/.((25[0-5])|(2[0-4]/d)|(1/d/d)|([1-9]/d)|/d)){3}

测试发现不能用,并且不能匹配分组

后来自己动手,丰衣足食,以下代码完美匹配IP地址
IP地址匹配正则表达式
\b(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]?)\b

刻意加上了\b,以处理混乱的格式,格式比较紊乱,想想这样还不入手动处理字符串的方式进行匹配
group 1-4 分别对应ip段

备注,记下来
Tags:  正则表达式匹配

延伸阅读

最新评论

发表评论