Находит все вхождения регулярного выражения в исходной строке.
Синтаксис
Функция СтрНайтиВсеПоРегулярномуВыражению()
имеет следующий синтаксис:
Массив СтрНайтиВсеПоРегулярномуВыражению(ИсходнаяСтрока, РегулярноеВыражение, [ИгнорироватьРегистр], [МногострочныйПоиск])
А также альтернативный англоязычный синтаксис:
Array StrFindAllByRegularExpression(SourceString, RegEx, [RegisterIgnore], [Multiline])
Параметры
Описание параметров функции СтрНайтиВсеПоРегулярномуВыражению()
:
Имя параметра* | Тип | Описание |
---|---|---|
ИсходнаяСтрока | Строка | Исходная строка. |
РегулярноеВыражение | Строка | Регулярное выражение, по которому выполняется поиск. |
ИгнорироватьРегистр | Булево | Признак поиска без учета регистра символов:Истина — без учета регистра,Ложь — с учетом регистра (Значение по умолчанию) |
МногострочныйПоиск | Булево | Признак многострочного поиска:Истина — выполняется многострочный поиск: символу ^ в шаблоне регулярного выражения соответствует начало каждой строки значения параметра <ИсходнаяСтрока>, символу $ — конец каждой строки.Ложь — символу ^ в шаблоне регулярного выражения соответствует начало значения в параметре <ИсходнаяСтрока>, символу $ — конец текста. |
*Жирным шрифтом выделены обязательные параметры |
Возвращаемое значение
Массив элементов типа РезультатПоискаПоРегулярномуВыражению.
Описание
Функция СтрНайтиВсеПоРегулярномуВыражению()
находит все вхождения регулярного выражения в исходной строке. Возвращает массив найденных значений. Если требуется получить только первое вхождение искомого выражения, эффективнее использовать функцию СтрНайтиПоРегулярномуВыражению().
Доступность
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер).
Пример использования
Пример кода с использованием функции СтрНайтиВсеПоРегулярномуВыражению()
:
//найдем все открывающие теги //регистрозависимый, глобальный поиск мРезПоиска = СтрНайтиВсеПоРегулярномуВыражению(ИсходныйТекст, <[a-z1-6]+ *\/?>); Если ЗначениеЗаполнено(мРезПоиска) Тогда Для каждого РезПоиска Из мРезПоиска Цикл Если РезПоиска.НачальнаяПозиция > 0 Тогда Сообщить(СтрШаблон("%1: %2", РезПоиска.НачальнаяПозиция, РезПоиска.Значение)); КонецЕсли; КонецЦикла; Иначе Сообщить("Ничего не нашлось!", СтатусСообщения.Важное); КонецЕсли;
Если принцип построения регулярного выражения в этом примере Вам не понятен, рекомендую ознакомиться с Приложением 2 «Регулярные выражения на встроенном языке»
Читайте также:
Поделиться страницей в соц.сетях