На самом деле у меня очень сложная проблема, но я сузил ее до самой важной части с некоторыми фиктивными данными.
Скажите, у меня есть следующий текст:
a
aa
aaa
aaaa
aaaa
aaaaa
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaa
a
То, что я хотел бы сделать, это, К примеру, когда за строкой 4 а следует строка 1 а. Я хотел бы добавить строку 3 a после строки 4 и добавить строку 2 a после строки 3. Таким образом, результат будет следующим:
a
aa
aaa
aaaa
aaaa
aaaaa
aaaa
aaa
aa
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaa
aaaa
aaa
aa
a
Я попробовал следующее регулярное выражение в editpad pro:
find: \r?\n(a*)aa\r?\n\1\r?\n
repl: \n\1aa\n\1a\n\1\n
Но это работает только тогда, когда в следующей строке ровно на 2 а меньше, чем в предыдущей. Я знаю, что мог бы написать несколько регулярных выражений, таких как приведенные выше, для работы с разницей в 2 а, 3 а, 4 а 5 а и так далее. Но я бы хотел иметь только одно регулярное выражение. Я не против, если бы мне пришлось запускать это регулярное выражение несколько раз, хотя ..