我有一个file.txt,其中包含以下行:
address1:= ("a010")
address2:= ("b005")
address3:= ("b030")
address4:= ("b008")
address5:= ("a002")
address6:= ("b004")
我只需匹配后跟" b"以及它的行:
2: 005
3: 030
4: 008
6: 004
任何人都可以帮我用python做这件事吗?
答案 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的情况下,我建议你尝试添加一些你编码的代码而不是询问如何编码它。检查此链接: