Groovy - Expresiones regulares
Una expresión regular es un patrón que se usa para buscar subcadenas en el texto. Groovy admite expresiones regulares de forma nativa utilizando la expresión ~ ”regex”. El texto incluido entre las citas representa la expresión para la comparación.
Por ejemplo, podemos crear un objeto de expresión regular como se muestra a continuación:
def regex = ~'Groovy'
Cuando el operador Groovy = ~ aparece como un predicado (expresión que devuelve un booleano) en if y whiledeclaraciones (consulte el Capítulo 8), el operando String de la izquierda se compara con el operando de expresión regular de la derecha. Por lo tanto, cada uno de los siguientes ofrece el valor verdadero.
Al definir una expresión regular, se pueden utilizar los siguientes caracteres especiales:
Hay dos caracteres posicionales especiales que se utilizan para indicar el principio y el final de una línea: el símbolo de intercalación (∧) y el signo de dólar ($).
Las expresiones regulares también pueden incluir cuantificadores. El signo más (+) representa una o más veces, aplicado al elemento anterior de la expresión. El asterisco (*) se utiliza para representar cero o más ocurrencias. El signo de interrogación (?) Denota cero o una vez.
El metacarácter {y} se utiliza para coincidir con un número específico de instancias del carácter anterior.
En una expresión regular, el símbolo de punto (.) Puede representar cualquier carácter. Esto se describe como el carácter comodín.
Una expresión regular puede incluir clases de caracteres. Un conjunto de caracteres se puede dar como una secuencia simple de caracteres encerrados en los metacaracteres [y] como en [aeiou]. Para rangos de letras o números, puede usar un separador de guiones como en [a – z] o [a – mA – M]. El complemento de una clase de carácter se indica mediante un signo de intercalación dentro de las raquetas cuadradas como en [∧a – z] y representa todos los caracteres distintos de los especificados. A continuación se dan algunos ejemplos de expresiones regulares
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'