1. 程式人生 > >關於Python正則表示式匹配IP地址

關於Python正則表示式匹配IP地址

正則表示式匹配的時候,不加開始符,結束符匹配的話,無法得到正確的匹配結果,為何?

分析 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)