Выполняет замену всех вхождений регулярного выражения в исходной строке на подстроку замены
Синтаксис
Функция СтрЗаменитьПоРегулярномуВыражению()
имеет следующий синтаксис:
Строка СтрЗаменитьПоРегулярномуВыражению(ИсходнаяСтрока, РегулярноеВыражение, ПодстрокаЗамены, [ИгнорироватьРегистр], [МногострочныйПоиск])
А также альтернативный англоязычный синтаксис:
string StrReplaceByRegularExpression(SourceString, RegEx, Substring, [RegisterIgnore], [Multiline])
Параметры
Описание параметров функции СтрЗаменитьПоРегулярномуВыражению()
:
Имя параметра* | Тип | Описание |
---|---|---|
ИсходнаяСтрока | Строка | Исходная строка. |
РегулярноеВыражение | Строка | Регулярное выражение, по которому выполняется поиск. |
ПодстрокаЗамены | Строка | Строка, на которую выполняется замена. Может ссылаться на группы, используемые в регулярном выражении. Для ссылок на группы используется формат $0,$1…$n, где n — номер группы в регулярном выражении. |
ИгнорироватьРегистр | Булево | Режим поиска без учета регистра:Истина — без учета регистраЛожь — с учетом регистра (Значение по умолчанию) |
МногострочныйПоиск | Булево | Признак многострочного поискаИстина — выполняется многострочный поиск: символу ^ в шаблоне регулярного выражения соответствует начало каждой строки значения параметра <ИсходнаяСтрока>, символу $ — конец каждой строки.Ложь — символу ^ в шаблоне регулярного выражения соответствует начало значения в параметре <ИсходнаяСтрока>, символу $ — конец текста. |
*Жирным шрифтом выделены обязательные параметры |
Возвращаемое значение
Строка
Строка, полученная в результате замены.
Описание
Функция СтрЗаменитьПоРегулярномуВыражению()
выполняет поиск и замену всех вхождений регулярного выражения в исходной строке на подстроку замены. Поддерживает ссылки на группы, заданные в регулярном выражении
Доступность
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер).
Пример использования
Пример кода с использованием функции СтрЗаменитьПоРегулярномуВыражению()
:
ИсходныйТекст = "<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 «Регулярные выражения на встроенном языке»
Поделиться страницей в соц.сетях