Оператор LIKE
Оператор LIKE - создание свойства, реализующего операцию сравнения строки с шаблоном.
Синтаксис
stringExpr LIKE patternExpr
Описание
Оператор LIKE создает свойство, которое возвращает TRUE, если указанная строка соответствует указанному шаблону. Шаблон может включать следующие специальные символы:
%(процент) - заменяет любое количество символов, включая отсутствие символов. Этот символ применяется, когда точное содержание или количество символов в части строки неизвестно._(подчеркивание) - заменяет ровно один символ. Применяется, когда необходимо точно определить местоположение одного символа, но сам символ может быть любым.
Для включения символов % или _ в шаблон как обычных символов, их необходимо экранировать с помощью символа обратной косой черты \. Не забывайте, что при задании шаблона с помощью строкового литерала для представления самой обратной косой черты её нужно удвоить: \\.
Параметры
-
stringExprВыражение, значение которого определяет сравниваемую строку. Значение выражения должно принадлежать одному из строковых классов.
-
patternExprВыражение, значение которого определяет шаблон. Значение выражения должно принадлежать одному из строковых классов.
Примеры
isReportDocument(Document doc) = name(doc) LIKE '%отчет%'; // проверяет, что в имени встречается слово 'отчет'
isPhoneNumber(STRING str) = str LIKE '(___) ___-____'; // проверяет телефонный номер на соответствие формату
startsWith(STRING str, STRING prefix) = str LIKE prefix + '%'; // проверяет начало строки
contains(STRING content, STRING str) = content LIKE '%' + str + '%'; // проверяет строку на вхождение
containsNew(STRING content, STRING str) = content LIKE '%${str}%'; // тоже самое, но со строковой интерполяцией
escapingExample(STRING str) = str LIKE '__\\%'; // Пример экранирования. Проверяет на двузначное количество процентов.