Groovy - Expressões regulares
Uma expressão regular é um padrão usado para localizar substrings no texto. Groovy suporta expressões regulares nativamente usando a expressão ~ ”regex”. O texto entre aspas representa a expressão para comparação.
Por exemplo, podemos criar um objeto de expressão regular conforme mostrado abaixo -
def regex = ~'Groovy'
Quando o operador Groovy = ~ aparece como um predicado (expressão que retorna um booleano) em if e while(consulte o Capítulo 8), o operando String à esquerda é comparado ao operando de expressão regular à direita. Portanto, cada um dos itens a seguir fornece o valor verdadeiro.
Ao definir a expressão regular, os seguintes caracteres especiais podem ser usados -
Existem dois caracteres posicionais especiais usados para denotar o início e o fim de uma linha: circunflexo (∧) e cifrão ($).
As expressões regulares também podem incluir quantificadores. O sinal de mais (+) representa uma ou mais vezes, aplicado ao elemento anterior da expressão. O asterisco (*) é usado para representar zero ou mais ocorrências. O ponto de interrogação (?) Denota zero ou uma vez.
O metacaractere {e} é usado para corresponder a um número específico de instâncias do caractere anterior.
Em uma expressão regular, o símbolo de ponto (.) Pode representar qualquer caractere. Isso é descrito como o caractere curinga.
Uma expressão regular pode incluir classes de caracteres. Um conjunto de caracteres pode ser dado como uma sequência simples de caracteres entre os metacaracteres [e] como em [aeiou]. Para intervalos de letras ou números, você pode usar um separador de traço como em [a – z] ou [a – mA – M]. O complemento de uma classe de caractere é denotado por um circunflexo inicial dentro das raquetes quadradas como em [∧a-z] e representa todos os caracteres além dos especificados. Alguns exemplos de expressões regulares são fornecidos abaixo
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'