Проверить формат учебного артикула регулярным выражением

Учебные задачи

Учебный контракт требует две латинские заглавные буквы, дефис и четыре ASCII-цифры. Проверяем весь код, а не его фрагмент.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Все исходные строки заданы прямо в примере; товары, файлы и настройки рабочих конфигураций не нужны.

  2. Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.

  3. Это специально заданный учебный формат, а не правило артикулов УТ, КА2, УНФ или Avito.

  4. Сначала используйте фиксированный шаблон из примера; не принимайте произвольные регулярные выражения от пользователей.


Шаблон = "^[A-Z]{2}-[0-9]{4}$";
Коды = Новый Массив;
Коды.Добавить("AB-0042");
Коды.Добавить("ab-0042");
Коды.Добавить("XAB-0042Y");
Коды.Добавить("AB-42");
Для Каждого Код Из Коды Цикл
    Соответствует = СтрПодобнаПоРегулярномуВыражению(Код, Шаблон, Ложь, Ложь);
    Сообщить(СтрШаблон("%1: %2", Код, Соответствует));
КонецЦикла;
Сообщить(СтрПодобнаПоРегулярномуВыражению("ab-0042", Шаблон, Истина, Ложь));

Разбор по шагам

  1. ^ и $ закрепляют начало и конец. [A-Z] допускает латиницу, [0-9] — ASCII-цифры.

  2. Квантификаторы {2} и {4} задают точное число символов.

  3. Ложь для ИгнорироватьРегистр сохраняет требование заглавных букв.

  4. Последняя строка отдельно показывает, как меняется результат при ИгнорироватьРегистр=Истина.

Как проверить результат

  1. Из четырёх кодов только AB-0042 даёт Истина; остальные три — Ложь.

  2. Последняя проверка строчного ab-0042 с ИгнорироватьРегистр=Истина даёт Истина.

  3. Замените латинскую A на кириллическую А: исходный строгий шаблон должен отклонить код.

Ожидаемый результат

Строгий учебный артикул проверен до преобразования в данные обмена.

На что обратить внимание

  1. Наличие похожей визуально буквы не делает латиницу и кириллицу одним символом.

  2. Это проверка формата, не существования товара и не уникальности артикула.

  3. Проверяйте также предельную длину входящего текста; сложные непроверенные шаблоны могут расходовать много времени.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.