Регулярные выражения в 1С. Новое на платформе...
-

Регулярные выражения в 1С. Новое на платформе 1С 8.3.23

0
9597
17.10.2023 Александр Балянов

Содержание:

1.     Регулярные выражения 1С

 

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


Данная возможность предназначена для распознавания и извлечения информации из текста такой как: электронная почта, телефонные номера, номера договоров, счетов, актов и т.д. Данная версия платформы позволяет рассматривать различные методы и подходы, в первую очередь, речь идет об использовании регулярных выражений.


Регулярные выражения 1С позволяют задавать шаблон для поиска и извлечения определенных образцов из текста. Также благодаря регулярным выражениям 1С можно искать совпадения в строках, беря за основу сложный шаблон и позволяя осуществлять такие задачи как:


- Проверка соответствия текста нескольким шаблонам одновременно. Эта возможность будет нам полезна, когда потребуется проверить, соответствует ли определенное поле или строка сразу нескольким условиям. Такая возможность, несомненно, полезна при работе с большими объемами данных.


- Парсинг текста и XML-документов. Регулярные выражения 1С позволяют вычленять нужную информацию из большого текста, исключая все, что не соответствует заданному шаблону. Эта возможность нам пригодится, когда нужно будет извлечь определенные части текста, а также адреса электронной почты или номера телефонов и т.д.


-  Массовая замена строк. Регулярные выражения 1С позволяют производить замену текста по заданному шаблону. Эта возможность может нам пригодиться, когда нужно будет заменить много строк одновременно. 

 

2.     Что недоступно в данной версии платформы 1С 8.3.23 и как это реализовано?

 

Отсутствует поддержка подвыражений (Submatches). Это означает, что невозможно получить несколько результатов поиска в виде коллекции одним вызовом функции. Вместо этого, если вам нужно получить все результаты, необходимо будет вызвать функцию поиска в цикле, каждый раз передавая ей обновленную начальную позицию поиска. Таким образом, можно последовательно получить все необходимые результаты.


Функциональность будет обеспечена с помощью трех новых функций:

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

Данная функция находит в указанной строке вхождения подстрок, соответствующих заданному регулярному выражению 1С.

Параметры:

·        <Строка>;

·        <РегулярноеВыражение>;

·        <НаправлениеПоиска>;

·        <НачальнаяПозиция>;

·        <НомерВхождения>.

Возвращаемое значение: РезультатПоискаПоРегулярномуВыражению:

НачальнаяПозиция - позиция первого знака найденной подстроки;

Длина - длина найденной подстроки.

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

Данная функция находит в указанной строке все вхождения подстрок, соответствующих заданному регулярному выражению 1С, и заменяет их на подстроку замены.

Параметры:

·        <Строка>;

·        <РегулярноеВыражение>;

·        <ПодстрокаЗамены>.

Возвращаемое значение: Строка - результирующая строка.

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

Данная функция проверяет указанную строку на соответствие заданному регулярному выражению 1С.

Параметры:

·        <Строка>;

·        <РегулярноеВыражение>.

Возвращаемое значение: Булево.


Специалист компании "Кодерлайн"

Александр Балянов


Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.