擅长:python、mysql、java
<p>这个链接给了我想要的答案:</p>
<p><a href="https://stackoverflow.com/questions/17327912/python-parse-ipv4-addresses-from-string-even-when-censored">Python - parse IPv4 addresses from string (even when censored)</a></p>
<p>一个简单的修改通过了初始烟雾测试:</p>
<pre><code>def _sub_ip(self, line):
pattern = r"((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)([ (\[]?(\.|dot)[ )\]]?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})"
ips = [each[0] for each in re.findall(pattern, line)]
for item in ips:
location = ips.index(item)
ip = re.sub("[ ()\[\]]", "", item)
ip = re.sub("dot", ".", ip)
ips.remove(item)
ips.insert(location, ip)
for ip in ips:
line = line.replace(ip, self._ip2db(ip))
return line
</code></pre>
<p>我肯定我会把它清理干净的,但这是一个很好的开始。在</p>