База знаний Одина — Одинэсника › Форумы › 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».