0

Функция СтрЗаменитьПоРегулярномуВыражению()

Выполняет замену всех вхождений регулярного выражения в исходной строке на подстроку замены

Синтаксис

Функция СтрЗаменитьПоРегулярномуВыражению() имеет следующий синтаксис:

Строка СтрЗаменитьПоРегулярномуВыражению(ИсходнаяСтрока, РегулярноеВыражение, ПодстрокаЗамены, [ИгнорироватьРегистр], [МногострочныйПоиск])

А также альтернативный англоязычный синтаксис:

string StrReplaceByRegularExpression(SourceString, RegEx, Substring, [RegisterIgnore], [Multiline])

Параметры

Описание параметров функции СтрЗаменитьПоРегулярномуВыражению():

Имя параметра* Тип Описание
ИсходнаяСтрока Строка Исходная строка.
РегулярноеВыражение Строка Регулярное выражение, по которому выполняется поиск.
ПодстрокаЗамены Строка Строка, на которую выполняется замена. Может ссылаться на группы, используемые в регулярном выражении. Для ссылок на группы используется формат $0,$1…$n, где n — номер группы в регулярном выражении.
ИгнорироватьРегистр Булево Режим поиска без учета регистра:
Истина — без учета регистра
Ложь — с учетом регистра (Значение по умолчанию)
МногострочныйПоиск Булево Признак многострочного поиска
Истина — выполняется многострочный поиск: символу ^ в шаблоне регулярного выражения соответствует начало каждой строки значения параметра <ИсходнаяСтрока>, символу $ — конец каждой строки.
Ложь — символу ^ в шаблоне регулярного выражения соответствует начало значения в параметре <ИсходнаяСтрока>, символу $ — конец текста.
*Жирным шрифтом выделены обязательные параметры

Возвращаемое значение

Строка
Строка, полученная в результате замены.

Описание

Функция СтрЗаменитьПоРегулярномуВыражению() выполняет поиск и замену всех вхождений регулярного выражения в исходной строке на подстроку замены. Поддерживает ссылки на группы, заданные в регулярном выражении

Доступность

Версия Поддержка
8.1 не поддерживается!
8.2 не поддерживается!
8.3.23+ Сервер, Толстый клиент, Внешнее соединение, Мобильное приложение
Внимание! В том случае, если используется релиз платформы 1С:Предприятие 8.3.22 и ниже (либо аналогичный режим совместимости конфигурации), функция работать не будет! При попытке сохранить модуль вы получите ошибку: «Функция СтрЗаменитьПоРегулярномуВыражению() не определена!»

Пример использования

Пример кода с использованием функции СтрЗаменитьПоРегулярномуВыражению():

ИсходныйТекст = "<address>Звоните по телефону 89993335566</address>";
РегулярноеВыражение = "\b(\d)\(?(\d\d\d)\)?(\d\d\d)-?(\d\d)-?(\d\d)\b";
СтрокаЗамены = "$1($2)$3-$4-$5";
ИсходныйТекст = СтрЗаменитьПоРегулярномуВыражению(ИсходныйТекст, РегулярноеВыражение, СтрокаЗамены, Истина, Истина);
//Результат:
//    <address>Звоните по телефону 8(999)333-55-66</address>

Обратите внимание, во-первых, что в регулярном выражении были использованы ограничители слова \b, а не символы начала ^ и конца строки $. Во-вторых, посмотрите, как в строке замены используются ссылки на группы, заданные в регулярном выражении.

Если этот материал для Вас не понятен, рекомендую ознакомиться с Приложением 2 «Регулярные выражения на встроенном языке»

Поделиться страницей в соц.сетях

Метки: Метки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *