gpt4 book ai didi

python - 如果 Python 中的模式匹配,则从文件中提取数据

转载 作者:行者123 更新时间:2023-12-01 04:48:39 25 4
gpt4 key购买 nike

在保存数据的文件中:

startTc:TC9

Client-1
IPAddress:10.203.205.111
Port:22
endTc:TC9

------------------------------------------------
startTc:TC5
Client-2
IPAddress of Client-2:10.203.205.112
Port:23
endTc:TC5
------------------------------------------------

如果 startTc:TC5 的条件匹配,则数据

Client-2
IPAddress of Client-2:10.203.205.112
Port:23

需要像Port中的23一样提取:并且当看到endTc:TC5

时需要关闭文件读取

最佳答案

一种方法是使用正则表达式,在以下模式中我使用 positive look-around匹配 startTc:TC5\n\nendTc:TC5 之间的字符串,然后您可以使用 \n 分割结果:

>>> s="""startTc:TC9
...
... Client-1
... IPAddress:10.203.205.111
... Port:22
... endTc:TC9
...
... ------------------------------------------------
... startTc:TC5
... Client-2
... IPAddress of Client-2:10.203.205.112
... Port:23
... endTc:TC5
... ------------------------------------------------"""
>>> re.search(r'(?<=startTc:TC5\n).*(?=\nendTc:TC5)',s,re.DOTALL).group(0).split('\n')
['Client-2', 'IPAddress of Client-2:10.203.205.112', 'Port:23']

请注意,如果您想从文件中读取此字符串,则需要在 re.read() 中使用 open('file_name').read() 而不是 s 。搜索功能。

关于python - 如果 Python 中的模式匹配,则从文件中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28876856/

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