Page 1 of 1

Вопрос по ΠΕΡΛ-скрипту

Posted: Fri Apr 09, 2021 1:55 am
by iyut
Здравствуйте, часто обрабатываю ХТМЛ-файлы скриптом поиска-замены (MultiReplace.js).
И есть потребность убирать пустоты, заменяя \n\s* на \n ,
но нужно чтобы пропускалось внутри тегов <pre>, <code>, <kbd>. Имеется действенный скрипт на чистом Перле:

Code: Select all

BEGIN{$a=0}
$a++ for /<(?:pre|code)>/g;
$a-- for /<\/(?:pre|code)>/g;
s/^\s*// unless $a;
Возможно ли из него сделать однострочник для Акелпада? Или есть ли какое-то иное решение (в часности для MultiReplace.js)?

Posted: Fri Apr 09, 2021 4:54 am
by AZJIO
Можно сделать регулярное выражение с проверкой, чтобы отступы заканчивались символом открывающегося тега "<"
\n\s++(?=<)

Это \n\s* неправильно, надо \n\s+ иначе пустышные замены \n на \n