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