使用python查找模式和文件行

2024-09-23 22:22:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件.txt,其中包含以下行:

address1:= ("a010")
address2:= ("b005")
address3:= ("b030")
address4:= ("b008")
address5:= ("a002")
address6:= ("b004")

我只需要匹配后跟“b”的数字及其行:

2: 005
3: 030
4: 008
6: 004 

有人能帮我用python吗


Tags: 文件txt数字address1address2a002address3a010
2条回答

代码段:

foo = """
address1:= ("a010")
address2:= ("b005")
address3:= ("b030")
address4:= ("b008")
address5:= ("a002")
address6:= ("b004")
"""
import re
pattern = 'address(\d+):= \("b(.*)"\)'
result = re.findall(pattern, foo)
for item in result:
    print('{index}: {entry}'.format(index=item[0], entry=item[1]))

执行输出:

2: 005
3: 030
4: 008
6: 004

使用此表达式并捕获组1:

(?:[b])([0-9]{3})

以下是一个示例:

https://regex101.com/r/fL4csm/2

在使用python的情况下,我建议您尝试添加一些您编写的代码,而不是询问如何编写代码。检查此链接:

https://stackoverflow.com/help/on-topic

相关问题 更多 >