使用python查找模式和文件行

时间:2017-11-07 17:36:20

标签: python regex

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

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

我只需匹配后跟" b"以及它的行:

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

任何人都可以帮我用python做这件事吗?

2 个答案:

答案 0 :(得分:3)

代码段:

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 :(得分:1)

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

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

以下是一个示例:

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

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

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