正则表达式匹配的时候,不加开始符,结束符匹配的话,无法得到正确的匹配结果,为何?
分析 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)