python通过正则匹配字符串中的ip地址

tech2025-11-28  6

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('12a3.1a2.11232.12q we1764.12g.12.76asd12.12s.23.287frg45.23.278.34hrdf127.0.0.258jj2521235.45.45.45bghtbh43.0.76.345') print(x[0])
最新回复(0)