【发布时间】:2019-07-26 17:54:45
【问题描述】:
考虑到文本文件有多个换行符和空格,我想在 python 中使用 Regex 包从文件中过滤特定文本。该文件可能有多个数据块,但唯一需要的是具有特定关键字的数据块。在我的问题中,它应该属于一个包含“Route-Details”关键字的组。
假设文件(sample.txt)如下所示。
.
.
.
Host1<-->Host2 Con. ID: 0x0fc2f0d9 (abc123)
Con. Information:
[Gw] Route-Details
R-Code: 0xaaaa (1a2) Route-Details
Router-ID: 0x21 (a4) [Gw]
Path-Code: 0x00e (15)
Data: 123-abcd.djsjdkks www.somesite. port 11
Coded info
aa aa aa aa aa aa aa aa 1111-aaa
aa aa aa aa aa aa aa aa 1111-aaa
.
.
.
这是我写的
import re
with open("sample.txt", "r") as fl:
in_file= fl.read()
(re.search('(?<=Route-Details).* Data:', in_file,re.DOTALL).group())
我希望得到这个。
123-abcd.djsjdkks www.somesite. port 11
但是,我明白了。
R-Code: 0xaaaa (1a2) Route-Details
Router-ID: 0x21 (a4) [Gw]
Path-Code: 0x00e (15)
Data:
我想知道我是否可以为此获得简化和详细的解决方案。 非常感谢您的帮助。
【问题讨论】:
标签: python regex regex-lookarounds regex-negation regex-group