У меня большой текст, который определяется в подразделе, разделенном на начало и конец. Я хочу извлечь текст между неизменными, а также извлечь имя части в тексте. Я терплю неудачу, так как я использовал. + В своем регулярном выражении, я всегда получаю полный текст. Мне также пришлось извлечь имя детали с помощью другого трюка, так как я не смог поймать его в именованной группе. Поэтому я строю строку с именем в качестве входных данных для регулярного выражения, но все равно это не удается, так как. + Является жадным и захватывает весь текст.
Мой неудачный регулярное выражение:
regex_string = '^!!\sSTART\s' + partname + '\s!!(?P<part_text>.*)'
REGEXP_CONTEXT_CONFIG = re.compile(regex_string, re.DOTALL)
Тест текст для захвата:
!! START goblin !!
text to capture
that is multiline
and contains all sort
of special chars
!! END goblin !!
!! START berta !!
text to capture
that is multiline
and contains all sort
of special chars
!! END berta !!
!! START vlad !!
text to capture
that is multiline
and contains all sort
of special chars
!! END Vlad !!
Я пытаюсь заархивировать это регулярное выражение, которое фиксирует имя части и часть включенного текста в двух именованных группах.