考虑到文本文件有多个换行符和空格,我想使用python中的Regex包过滤文件中的某个文本。文件可能有多个数据块,但唯一需要的是带有特定关键字的数据块。在我的问题中,它应该属于一个包含“Route Details”关键字的组。你知道吗
让我们说文件(示例.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:
我想知道我是否可以得到简化和详细的解决方案。 非常感谢你的帮助。你知道吗
这将解决这个问题,我有测试它。 它的输出与您预期的相同:
你可以用积极的眼光去观察和捕捉群体:
收益率:
此外,您可以尝试以下操作以包括指定的
Route-Details
条件:有关详细说明,请参见here。另外,
re.DOTALL
指定.
字符将匹配所有字符,包括换行符。你知道吗我会做一些像
我认为您的问题是表达式试图匹配从“Route Details”到“Data:”的所有内容。你知道吗
希望这有帮助:)
相关问题 更多 >
编程相关推荐