Регулярные выражения, способ 3-й
На момент написания статьи на Инфостарте предлагали 2 способа проверки строки на соответствие шаблону. Первый с использованием внешних компонент, второй с использованием фабрики XDTO (голый парсинг текста не считаем). Предлагаю третий — с использованием языка запросов.
- Описание
- Подробнее
Описание
Откровенно говоря, этот способ работает дольше и предлагает меньшее богатство инструментов для создания шаблона, но тем не менее кому-то может показаться интересным, кроме того, не помешает знать о нем для общего развития. Пишем запрос:
|ВЫБРАТЬ
| ВЫБОР
| КОГДА &Строка ПОДОБНО &Шаблон
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЕстьСоответствиеУстанавливаем значения параметров и выполняем. В результате всегда будет 1 строка, содержащая в реквизите ЕстьСоответствие булево значение.
Для описания шаблона можно использовать следующие выражения:
- %: любое количество произвольных символов
- _: один произвольный символ
- []: любой одиночный символ из перечисленных внутри квадратных скобок.
- [^]: любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
- \: экранирование управляющих символов
Например:
- "%АБВ%" — строка, в которой встречается последовательность "АБВ"
- "%[А-Я1-5]%" — строка, в которой встречается любая киррилическая буква в верхнем регистре или цифра от 1 до 5
- "%[АВБ]%" — строка, в которой встречается буква А, Б или В
- "%[^К-Н]%" — строка, в которой не встречаются символы К, Л, М, Н.
- "[0-3][0-9] ЯНВАР[ЬЯ] 20[0-9][0-9]" — дата в январе 21-го века )
Далее, можно писать множественные сравнения, собирать текст запроса из многих условий и вообще использовать как фантазия подскажет. Удачи!

