有没有比解析字符串更好的方法?

时间:2015-06-16 20:30:30

标签: python regex

我正在解析iptables的日志文件,寻找源IP。为此,我使用了re.findall的两个实例,一个用于查找“SRC = x.x.x.x”,另一个用于实际获取IP。

for line in iptables:
    src = re.findall('SRC=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', line)
    ip = re.findall('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', src)

有没有更好的方法来达到相同的效果?也就是说,只是获得SRC IP。

对于我现在想要做的事情,这无关紧要,但我想知道是否有更好的方法来实现同样的未来发展。

1 个答案:

答案 0 :(得分:3)

您应该将IP部分放入一个组中,即在括号内。这样,您可以<h:outputStylesheet library="css" name="style.css" /> 匹配并获得匹配内的search

group

此处,>>> line = "SRC=127.0.0.1" >>> m = re.search(r'SRC=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', line) >>> m.group(0) 'SRC=127.0.0.1' >>> m.group(1) '127.0.0.1' 是整个匹配,group(0)包含在第一组group(1)中的部分,依此类推。

相关问题