Оператор 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 '__\\%'; // Пример экранирования. Проверяет на двузначное количество процентов.