|

Конструктор регулярного выражения


Содержание:

  1. Что такое регулярные выражения
  2. Встроенный конструктор RegExp в 1С
  3. Основные понятия синтаксиса RegExp в 1С
  4. Отладка регулярных выражений в системе 1C: Предприятие

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

Что такое регулярные выражения

Регулярные выражения — это шаблоны для поиска и замены текста. Они поддерживаются в 1С через объект РегулярноеВыражение.

Основные возможности:

  • Поиск по сложным шаблонам;
  • Валидация данных (например, email, телефон);
  • Разбиение строк на части;
  • Замена текста.

Встроенный конструктор RegExp в 1С

В 1С: Предприятие 8.3.14+ появился визуальный конструктор регулярных выражений.

Как открыть:

  • В модуле 1С вставьте код с РегулярноеВыражение;
  • Нажмите Ctrl+Space → выберите РегулярноеВыражение;
  • Кликните на иконку «…» рядом с шаблоном — откроется конструктор.

Возможности конструктора:

  • Визуальное построение шаблона;
  • Тестирование на лету;
  • Подсказки по синтаксису;
  • Готовые примеры (email, телефон, дата).

Основные понятия синтаксиса RegExp в 1С

Создание и использование.

РегВыражение = Новый РегулярноеВыражение(“\\d+”); // Поиск чисел

НайденыСовпадения = РегВыражение.Найти(“Текст 123”); // Вернет “123”

Популярные шаблоны.

ШаблонОписаниеПример в 1С
\dЛюбая цифра“\\d” (двойной \ в 1С!)
[A-Za-z]Латинские буквы“[A-Za-z]+”
^[0-9]{4}$Ровно 4 цифрыПроверка кода (например, инн)
\sПробельный символУдаление лишних пробелов

Практические примеры:

  • Валидация email:

Функция ПроверитьEmail(Знач Email)

    РегВыражение = Новый РегулярноеВыражение(

        “^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$”

    );

    Возврат РегВыражение.ПроверитьСтроку(Email);

КонецФункции

  • Извлечение всех чисел из текста:

Функция ИзвлечьЧисла(Текст)

    РегВыражение = Новый РегулярноеВыражение(“\\d+”);

    Найденные = РегВыражение.НайтиВсе(Текст);

    МассивЧисел = Новый Массив;

    Для Каждого Совпадение Из Найденные Цикл

        МассивЧисел.Добавить(Число(Совпадение.Значение));

    КонецЦикла;

    Возврат МассивЧисел;

КонецФункции

  • Удаление HTML-тегов:

Функция УдалитьHTML(Знач Текст)

    РегВыражение = Новый РегулярноеВыражение(“<[^>]*>”);

    Возврат РегВыражение.Заменить(Текст, “”);

КонецФункции

Отладка регулярных выражений в системе 1C: Предприятие

Если RegExp не работает:

  • Проверьте экранирование (\\ вместо \);
  • Упростите шаблон — разбейте на части;
  • Используйте онлайн-тестеры (например, regex101.com);
  • Включите логирование в 1С:

Попытка

    РегВыражение = Новый РегулярноеВыражение(“неправильный[шаблон”);

Исключение

    Сообщить(“Ошибка: ” + ОписаниеОшибки()); // Выведет детали

КонецПопытки;

Специалист компании ООО “Кодерлайн”,

Дубровина Елена


Помогла ли вам статья? Оставьте свой комментарий:

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

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

Блог про 1С:Предприятие

Copyright © 2024 TopKoder

Мы занимаемся внедрением и обслуживанием программных продуктов 1С.