gpt4 book ai didi

python - 有没有比双重解析字符串更好的方法?

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:55 26 4
gpt4 key购买 nike

我正在解析 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。

对于我现在想做的事情其实并不重要,但我想知道是否有更好的方法来实现同样的目标以供将来开发。

最佳答案

您应该将 IP 部分放入一个组中,即放在括号内。这样,您就可以搜索匹配项并获取匹配项中的

>>> 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)是第一组()中包含的部分,等等。

关于python - 有没有比双重解析字符串更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com