Язык выражений позволяет вам проверять текстовые значения по определенному шаблону при использовании функций MATCH, CASE, REPLACE or SEARCH .
Можно использовать три типа шаблонов: точное сопоставление, сопоставление с подстановочными знаками и сопоставление с регулярным выражением.
Exact Matching (точное сопоставление)
Это самый простой тип шаблона, который сравнивает значение с точным текстовым значением:
- MATCH(value, "Apples")
Хотя это называется «точное сопоставление», существуют дополнительные правила, облегчающие сопоставление:
- Все начальные и конечные пробельные символы удаляются из значения.
- Сравнение текста не чувствительно к регистру, что означает, что APPLES будет соответствовать яблокам.
- Значение (без начальных и конечных пробелов) должно соответствовать всему шаблону.
Точное соответствие используется по умолчанию, если шаблон не распознан как требующий сопоставления с подстановочными знаками или регулярными выражениями.
Wildcard Matching(Сопоставление подстановочных знаков)
Шаблоны подстановочных знаков позволяют использовать подстановочный знак «*» для указания любого количества любых символов (включая отсутствие символов).
- MATCH(value, "App*")
Приведенная выше функция вернет «1» для любого значения, начинающегося с символов «Приложение», поэтому «Приложение», «Яблоко» и «Яблоки полезны для вас» будут совпадать. Вы также можете использовать несколько звездочек для создания шаблона. Match(value, "A*L*") будет соответствовать всему, что начинается с A и содержит L, включая "Яблоки", "Альманах" и "Тетя Сал".
Сопоставление с подстановочными знаками использует те же правила, что и точное сопоставление:
- Все начальные и конечные пробельные символы удаляются из значения.
- Сравнение текста не чувствительно к регистру, что означает, что APPLES будет соответствовать App*.
- Значение (без начальных и конечных пробелов) должно соответствовать всему шаблону.
Сопоставление с подстановочными знаками используется, когда шаблон не распознается как шаблон регулярного выражения, но содержит хотя бы одну звездочку.
Regular Expression Matching(Сопоставление регулярных выражений)
Этот тип сопоставления позволяет вам использовать мощные регулярные выражения для определения того счем вы хотите сопоставить
- MATCH(value, "/^Ap+.*s$/")
Структура использует регулярные выражения, доступные в Java. Полную документацию по языку регулярных выражений см. в документации Java для Pattern.
Сопоставление регулярных выражений отличается от других типов сопоставления. Применяются следующие правила:
- Начальные и конечные пробельные символы не удаляются.
- Сравнение текста не зависит от регистра, как и при других типах сопоставления.
- Значение не обязательно должно полностью соответствовать шаблону — достаточно, чтобы в значении было найдено хотя бы одно вхождение шаблона. Чтобы шаблон соответствовал всему тексту, используйте в шаблоне символы «^» и «$».
Сопоставление регулярных выражений включается, если первый и последний символы шаблона равны «/». (Эти символы удалены, так как они не являются частью шаблона.)
По материалам Atlassian JIRA Structure: Expr Pattern Matching