Заменяет подстроку другой подстрокой глобально (все вхождения) по тексту.
Применяется редко, в основном для операций с javascript.
Для замены переносов строк, табуляций и других непечатных символов необходимо, чтобы они появились в тексте ключей макроса.
Режим регулярных выражений
Если ключ regex включен, то в ключах left и right можно задавать регулярное выражение. Регулярные выражения системой выполняются в нотации языка Perl, в качестве разделителя используется прямой слэш, поэтому там где он употребляется в качестве обычного символа его нужно предварять обратным слэшем, как и специальные символы (см. документацию по s/// языка Perl).
Например, в Perl мы бы написали так:
$string =~ s/<\/?(b|br|p|h\d|script|strong)[^>]*>//gsi;
Квотирующий обратный слэш мы выделили жирным.
А в макросе Replace то же самое будет выглядеть так:
$Replace[source: "<P><STRONG>Некий</STRONG> текст</P> "; left: "<\/?(b|br|p|h\d|script|strong)[^>]*>"; right: ""; regex: on; regex_modificator: gsi]$
Никто, кстати, не запрещает нам использовать в правой части функции Perl при использовании модификатора e.
Просьба. Поскольку регулярные выражения одна из самых сложнопонимаемых вообще в программировании вещей, если вы не понимаете что это такое - лучше не пробуйте, или мучайтесь сами. Не просите службу поддержки писать регексы для ваших задач и искать ошибки в них, это сложная и дорогая работа. Макрос на 100% протестирован и корректен. Если у вас что-то не работает - значит вы ошиблись в регулярном выражении.
Пример №1
$Replace [source: "qweqwe"; left: "qwe"; right: "йцу
кен"]$
Результатом работы будет строка
"йцу
кенйцу
кен".
Пример №2
$Replace [source: "qweqwe qweqweqwe"; left: "(qwe)+"; right: "qwe"; regex: on]$
Результатом работы будет строка
"qwe qwe".