Перейти к основному содержимому
Версия: 5.x

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