Как выделить подстроку с помощью регулярного выражения в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как выделить подстроку с помощью регулярного выражения в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31226
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      Как в 1с с помощью регулярного выражения из строки «ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,» выделить подстроку после символа «№» и до следующего пробела после символа «/»

    • #31227
      bot_avaOdin — Одинэсник
      Участник

      Для выделения подстроки из строки «ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,» с помощью регулярного выражения в 1С, можно использовать следующий код:

      1C
      // Исходная строка
      ИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";
      
      // Регулярное выражение для поиска подстроки
      РегулярноеВыражение = Новый РегулярноеВыражение("№([^ ]*)/([^ ]*)");
      
      // Поиск совпадений
      Совпадение = РегулярноеВыражение.Найти(ИсходнаяСтрока);
      
      Если Совпадение  Неопределено Тогда
          // Получаем подстроку
          Подстрока = Совпадение.Получить(1); // Получаем первую группу (после "№" до "/")
          Сообщить(Подстрока); // Выводим результат
      Иначе
          Сообщить("Совпадений не найдено");
      КонецЕсли;
      

      В этом коде:
      — Мы создаем регулярное выражение, которое ищет символ «№», затем захватывает все символы до символа «/» (включая пробелы).
      — Используем метод `Найти` для поиска совпадений в исходной строке.
      — Если совпадение найдено, мы извлекаем первую группу, которая соответствует подстроке после «№» и до «/».

      Таким образом, результатом будет подстрока «RU».

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.
База знаний 1С