8

Я ищу выражение регулярного выражения, чтобы соответствовать пару строк по сопоставленной линии. Например:

ABCDEFGHADEFGH
ABCDEFGHADEFGH
ABCDEFGHDEFGHABCDEFGH
ABCDEFGHDEFGHABCDEFGH
ABCDEFGHABCDEFGHABCDEFGH
ABCDEFGHABCDEFGHABCDEFGH
XXXXXXXX

Я хотел бы захватить 2 строки выше XXXXXXXX.

Любая помощь будет оценена. Примечание: с Python, использующим библиотеку re

1 ответ1

14

Следующий RegEx проверяет переменное количество строк перед строкой XXXXXXXX и возвращает их в первую группу захвата.

((.*\n){2})XXXXXXXX

  1. (.*\n) проверяет строку, заканчивающуюся \n , переводом строки.
  2. {2} дает количественную оценку 2 раза.
  3. () , чтобы все строки входили в одну группу захвата.
  4. XXXXXXXX - строка, которой должен заканчиваться текст.

Теперь в Python вы можете использовать p.match(regex)[0] чтобы вернуть первую группу захвата.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .