Вы можете использовать последнюю версию Notepad ++ (у меня 6.2.2).
Нет необходимости использовать опцию ". Соответствовать новой строке", как это предлагается в другом ответе Вместо этого используйте соответствующее регулярное выражение с ^ для «начала строки» и $ для «конца строки». Затем используйте \ r \ n после $ для «новой строки» в файле dos (или просто \ n в файле unix, поскольку возврат каретки в основном используется для текстового файла dos / windows):
Пример: чтобы удалить все строки, начинающиеся с тегов OBJE, после строки, начинающейся с UID тега (из файла gedcom - используется в генеалогии), я использовал следующее регулярное выражение поиска:
^UID (.*)$\r\n^(OBJE (.*)$\r\n)+
И следующее значение замены:
UID \1\r\n
Это совпадает с такими строками:
UID 4FBB852FB485B2A64DE276675D57A1BA
OBJE @M4@
OBJE @M3@
OBJE @M2@
OBJE @M1@
и выходной результат замены
UID 4FBB852FB485B2A64DE276675D57A1BA
550 экземпляров были заменены менее чем за 1 сек. Блокнот ++ действительно эффективен!
В противном случае, для проверки регулярного выражения мне нравится использовать .Net RegEx Tester (http://regexhero.net/tester/). Это действительно здорово писать и тестировать на лету Reg Ex ...
PS .: Кроме того, вы можете использовать [\s\S]
в своем регулярном выражении, чтобы соответствовать любому символу, включая новые строки. Таким образом, если вы ищете какой-либо блок многострочного текста, начинающийся с «xxx» и заканчивающийся «abc», будет хорошо следующее регулярное выражение: ^xxx[\s\S]*?abc$
, где "*?"
должно совпадать как можно меньше между xxx и abc !!!