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

Для выделения подстроки из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” с помощью регулярного выражения в 1С, можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1C // Исходная строка ИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,"; // Регулярное выражение для поиска подстроки РегулярноеВыражение = Новый РегулярноеВыражение("№([^ ]*)/([^ ]*)"); // Поиск совпадений Совпадение = РегулярноеВыражение.Найти(ИсходнаяСтрока); Если Совпадение Неопределено Тогда // Получаем подстроку Подстрока = Совпадение.Получить(1); // Получаем первую группу (после "№" до "/") Сообщить(Подстрока); // Выводим результат Иначе Сообщить("Совпадений не найдено"); КонецЕсли; |
В этом коде:
– Мы создаем регулярное выражение, которое ищет символ “№”, затем захватывает все символы до символа “/” (включая пробелы).
– Используем метод Найти
для поиска совпадений в исходной строке.
– Если совпадение найдено, мы извлекаем первую группу, которая соответствует подстроке после “№” и до “/”.
Таким образом, результатом будет подстрока “RU”.