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

#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С