Как найти текст с переносами строк между двумя маркерами
Текст может быть любой. Например
>>
текст текст
ds aihdO#U$(20
<<
Надо удалить всё что между >> и << включая сами маркеры.
Я пытался с этим регулярным выражением: >>((.|\n)+?)<<, но у меня получилось <re.Match object; span=(67, 206), match='Что сделать потом: Комментарии [СДЕЛАНО 2> (даже без закрывающей кавычки)
Сам текст:
>> Что сделать потом:
Комментарии [СДЕЛАНО 2/2 (90%) Нужно исправить комментарии]
Переменные [СДЕЛАНО 0%]
Input [СДЕЛАНО 0%] <<
Ответы (1 шт):
Автор решения: Alexander Mashin
→ Ссылка
- Вы можете упростить регулярное выражение до
>>.*?<<, но используйте опциюs, - чтобы убедиться, что захватывается всё, что надо, выводите
.group()— это весь захват.
import re
text = r'''
>> Что сделать потом:
Комментарии [СДЕЛАНО 2/2 (90%) Нужно исправить комментарии]
Переменные [СДЕЛАНО 0%]
Input [СДЕЛАНО 0%] <<
'''
pattern = r'>>.*?<<'
for match in re.finditer (pattern, text, re.S):
print (match.group())