关于Python正则表达式匹配IP地址

3/8/2017来源:ASP.NET技巧人气:3691

正则表达式匹配的时候,不加开始符,结束符匹配的话,无法得到正确的匹配结果,为何?

分析 255.255.255.255

255划分成4个段位

1-9     对应正则[1-9]

10-99   对应正则[1-9]\d

100-199  对应正则 1\d\d

200-255 对应正则 2[0-5][0-5]

# -*- coding=utf8 -*-

import re ip1='192.168.1.1' ip2='592.168.1.1' pattern1=r'(([1-9]|[1-9]\d|1\d\d|2[0-5][0-5])\.){3}([1-9]|[1-9]\d|1\d\d|2[0-5][0-5])' pattern2=r'^(([1-9]|[1-9]\d|1\d\d|2[0-5][0-5])\.){3}([1-9]|[1-9]\d|1\d\d|2[0-5][0-5])$' PRint re.search(pattern1,ip1) print re.search(pattern1,ip2) print re.search(pattern2,ip1)

print re.search(pattern2,ip2)