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

时间:2017-01-31 14:24:14

标签: python regex string python-2.7 multiline

我有这样的模式的txt:

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

我已经尝试搜索:"something {\nsomething2\nsomething3)"并且我使用re.findall获得了True结果,但在我找到了我希望打印整个#76行的模式之后,因为我需要" something3"之后的信息。

有谁知道我该怎么做?我希望通过同一个文件多次这样做,基本上每当找到模式时我都要打印整个第三行。

1 个答案:

答案 0 :(得分:2)

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

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

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

将屈服:

[' withVariableTextHere']

简而言之,它将返回与括号中的正则表达式部分匹配的所有内容,此处在新行之前的任何内容