Замените регулярное выражение в Textpad, где поисковый запрос занимает несколько строк

Можно ли выполнять поиск и замену регулярного выражения в Textpad, где поисковый термин занимает несколько строк.

например, документ содержит:

Hello
ab_c
D_EF
12_3
World

Я хотел бы заменить все между "Hello" и "World" пробелом.

Я попытался найти регулярное выражение:

Hello.*World

но это не соответствует (я полагаю, из-за текста, охватывающего несколько строк).

1 ответ

Решение

Поскольку Textpad, похоже, имеет очень ограниченную поддержку регулярных выражений, я сделал это только с тремя заменами:

  1. Заменить каждую новую строку (\n или же \r\n) в вашем тексте с уникальным рисунком, например ##NEWLINE##

  2. Используйте регулярное выражение (Hello).*(World) и заменить матч на \1 \2
    (вы также можете просто использовать Hello.*World и заменить на Hello World)

  3. Наконец, верните шаг 1, заменив все ##NEWLINE## с фактическим переводом строки


Я предлагаю взглянуть на Notepad++, который имеет лучшую поддержку регулярных выражений, множество других функций (особенно для редактирования исходного кода), а также бесплатное программное обеспечение с открытым исходным кодом.

Другие вопросы по тегам