Groovy - регулярные выражения
Регулярное выражение - это шаблон, который используется для поиска подстрок в тексте. Groovy изначально поддерживает регулярные выражения с использованием выражения ~ ”regex”. Текст в кавычках представляет собой выражение для сравнения.
Например, мы можем создать объект регулярного выражения, как показано ниже -
def regex = ~'Groovy'
Когда Groovy-оператор = ~ появляется как предикат (выражение, возвращающее логическое значение) в if и whileоператоров (см. главу 8), строковый операнд слева сопоставляется с операндом регулярного выражения справа. Следовательно, каждое из следующих значений дает истинное значение.
При определении регулярного выражения могут использоваться следующие специальные символы:
Есть два специальных позиционных символа, которые используются для обозначения начала и конца строки: каретка (∧) и знак доллара ($).
Регулярные выражения также могут включать кванторы. Знак плюс (+) представляет один или несколько раз, примененных к предыдущему элементу выражения. Звездочка (*) используется для обозначения нуля или более случаев. Знак вопроса (?) Означает ноль или один раз.
Метасимвол {и} используется для соответствия определенному количеству экземпляров предыдущего символа.
В регулярном выражении символ точки (.) Может представлять любой символ. Это называется подстановочным знаком.
Регулярное выражение может включать классы символов. Набор символов может быть задан как простая последовательность символов, заключенная в метасимволы [и], как в [aeiou]. Для диапазонов букв или цифр можно использовать дефис, например [a – z] или [a – mA – M]. Дополнение к символьному классу обозначается ведущей вставкой внутри квадратных скобок, как в [∧a – z], и представляет все символы, кроме указанных. Некоторые примеры регулярных выражений приведены ниже.
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'