Я пишу в Python, и скажем, у меня есть файл, глядя, как это:Python регулярных выражений фигурные скобки многострочные
aaa
aaa "word" --sdsdrrr2 --sds {
test test
}
aaa "word2" --sdsdd sdsd {
fffsd
ssss
}
aaa "word3" -sdksdld sdsd
{
sdsdd
sdsddd
sdsdddd }
теперь я хочу, чтобы разобрать выход для «word2», включая префикс и суффикс, поэтому выход будет быть:
aaa "word2" --sdsdd sdsd {
fffsd
ssss
}
попытался следующий код:
f = open('/tmp/testt2')
for res in re.findall('aaa "word2" (.*?)}', f.read(), re.S):
print res
только получил некоторые из матчей без быть ginning и окончание фигурные.
Обратите внимание:
- Количество линий между фигурными скобками неизвестно.
- Regex is a must
- Позиции скользящих скобок также неизвестны (могут быть разнесены или нет, новая строка или нет и т. Д.), Как в приведенном выше примере.
Спасибо за любую помощь,
Если вы копируете это регулярное выражение, вам не хватает открытия '{'. Кроме того, вам нужно [DOTALL] (https://docs.python.org/2/library/re.html#re.DOTALL) – RedX
Я не уверен, но если вам нужна вся ценность, зачем использовать группу захвата? Используйте 'aaa" word2 ". *?}' –