import re
# str = "12a3.1a2.11232.12q we1764.12g.12.76asd12.12s.23.287frg45.23.278.34hrdf127.0.0.11jj2521235.45.45.45bghtbh43.0.76.345"
#str='e13.12.33.123'
def getip(str):
result = re.findall(r'\D(?:\d{1,3}\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\D', str)
ret_start = re.match(r'(\d{1,3}\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\D', str)
if ret_start:
result.append(ret_start.group())
ret_end = re.search(r'\D(\d{1,3}\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$', str)
if ret_end:
result.append(ret_end.group())
ip_list = []
for r in result:
ret = re.search(r'((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)', r)
if ret:
ip_list.append(ret.group())
return ip_list
if __name__ == '__main__':
x = getip('a172.168.15.122sdf10.22.33.257asdas223')
print(x[0])
运行结果