2017-01-31 2 views
-1

Я Txt с узорами, как это:Поиск Multiline в текстовом файле с питоном

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

Я попытался найти: "something {\nsomething2\nsomething3)" и я получаю истинный результат с re.findall, но после того, как я нашел Я хочу напечатать целую строку # 76, потому что мне нужна информация после «something3».

У кого-нибудь есть идеи, как я могу это сделать? И я хочу сделать это несколько раз через один и тот же файл, по существу, когда найден шаблон. Я хочу напечатать целую третью строку.

ответ

1

Вы можете использовать группы захвата в своем регулярном выражении. Например:

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

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

даст:

[' withVariableTextHere'] 

Короче говоря, он будет возвращать все, что соответствует части регулярного выражения в скобках, здесь ничего перед новой линии.

+0

Спасибо за ваш ответ, Дерлин, это то, что я искал. Через пару дней, пытаясь сделать это, ты действительно спас меня :) – zpetricevic

 Смежные вопросы

  • Нет связанных вопросов^_^