Я полагаю, что проблема, о которой вы спрашиваете, это «Найти шаблоны, которые появляются с одинаковым смещением в серии линий».
Я не думаю, что это описывает обычный язык , поэтому вам нужно использовать расширенные функции регулярных выражений в Python, чтобы иметь возможность найти решение на основе регулярных выражений. Но я не верю, что Python поддерживает достаточно расширенные возможности для выполнения этой задачи [1].
Если допустимо, чтобы они возникали при определенном смещении (а не «при любом смещении, если смещение непротиворечиво»), то что-то вроде этого должно работать:
/^.{OFFSET}PATTERN.*\n^.{OFFSET}PATTERN.*\n^.{OFFSET}PATTERN/
, используя флаг MULTILINE
, чтобы ^
соответствовал началу ряда строк, а не только началу всего текста.
[1] В частности, вы можете использовать обратную ссылку для захвата текста, предшествующего желаемому шаблону, в одну строку, но я не думаю, что вы можете запросить длину захваченного содержимого «inline». Вы можете снова найти тот же начальный текст в следующей строке, но это не похоже на то, что вы хотите.