使用 python 在 txt 文件中进行多行搜索

Multiline search in txt file with python

我有这样的文本格式:

...
72 anything
73 }
74 something {
75 something2
76 something3 withVariableTextHere
77 anything
...

我试过搜索:"something {\nsomething2\nsomething3)",我确实用 re.findall 得到了 True 结果,但是在找到模式后我想打印整个 #76 行,因为我需要"something3" 之后的信息。

有人知道我该怎么做吗?我想通过同一个文件多次执行此操作,基本上只要找到模式我就想打印整个第三行。

您可以在正则表达式中使用捕获组。例如:

s = """anything
}
something {
something2
something3 withVariableTextHere
anything"""

re.findall("something {\nsomething2\nsomething3(.*)", s)

将产生:

[' withVariableTextHere']

简而言之,它将return匹配括号中正则表达式部分的所有内容,这里换行之前的任何内容