0

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

Находит все вхождения регулярного выражения в исходной строке.

Синтаксис

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

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

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

Array StrFindAllByRegularExpression(SourceString, RegEx, [RegisterIgnore], [Multiline])

Параметры

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

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

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

Массив элементов типа РезультатПоискаПоРегулярномуВыражению.

Описание

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

Доступность

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

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

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

//найдем все открывающие теги
//регистрозависимый, глобальный поиск
мРезПоиска = СтрНайтиВсеПоРегулярномуВыражению(ИсходныйТекст, <[a-z1-6]+ *\/?>);
Если ЗначениеЗаполнено(мРезПоиска) Тогда
    Для каждого РезПоиска Из мРезПоиска Цикл
        Если РезПоиска.НачальнаяПозиция > 0 Тогда
            Сообщить(СтрШаблон("%1: %2", РезПоиска.НачальнаяПозиция, РезПоиска.Значение));    
        КонецЕсли;
    КонецЦикла;
Иначе
    Сообщить("Ничего не нашлось!", СтатусСообщения.Важное);
КонецЕсли;

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

Читайте также:

  1. Функция СтрШаблон();

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

Метки: Метки

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

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