Извлечение текста между двумя шаблонами

#python #regex

#python #регулярное выражение

Вопрос:

У меня есть текст, несколько похожий на приведенный ниже:

 Random text 
"XXX" some text "XXX" 
1. random text 
2. Random Text
3. Random text
"YYY"
Random Text
  

Я хотел извлечь все, что появляется между «XXX» (включая), который находится в начале строки, и «ГГГГ» (исключая), который также находится в начале строки
«XXX», если присутствует, будет присутствовать в начале строки
Обратите внимание, что «XXX» может появляться много раз между текстом
«ГГГГ» не является фиксированным, т. е. «ГГГГ» может иметь любое значение. Мне просто нужно определить шаблон, в котором некоторые слова появляются между «amp;».

ожидаемый результат:

 "XXX" some text "XXX" 
1. random text 
2. Random Text
3. Random text
  

Я попытался использовать приведенное ниже регулярное выражение, но не смог извлечь полностью:

 re.findall(r"^"XXX"(.*?)s^"w ", string, re.DOTALL)
  
 Random text
  

Ответ №1:

Возможно, вы ищете

 ^("XXX". ?)^"YYY"
  

Смотрите демонстрацию на regex101.com (и помните о dotall модификаторе).