Groovy - Expressions régulières

Une expression régulière est un modèle utilisé pour rechercher des sous-chaînes dans du texte. Groovy prend en charge les expressions régulières de manière native en utilisant l'expression ~ ”regex”. Le texte entre les guillemets représente l'expression à comparer.

Par exemple, nous pouvons créer un objet d'expression régulière comme indiqué ci-dessous -

def regex = ~'Groovy'

Lorsque l'opérateur Groovy = ~ apparaît comme un prédicat (expression renvoyant un booléen) dans if et while(voir le chapitre 8), l'opérande String à gauche est comparé à l'opérande d'expression régulière à droite. Par conséquent, chacun des éléments suivants fournit la valeur true.

Lors de la définition d'une expression régulière, les caractères spéciaux suivants peuvent être utilisés -

  • Il existe deux caractères spéciaux de position utilisés pour désigner le début et la fin d'une ligne: le signe caret (∧) et le signe dollar ($).

  • Les expressions régulières peuvent également inclure des quantificateurs. Le signe plus (+) représente une ou plusieurs fois, appliqué à l'élément précédent de l'expression. L'astérisque (*) est utilisé pour représenter zéro ou plusieurs occurrences. Le point d'interrogation (?) Indique zéro ou une fois.

  • Le métacaractère {et} est utilisé pour faire correspondre un nombre spécifique d'instances du caractère précédent.

  • Dans une expression régulière, le symbole de point (.) Peut représenter n'importe quel caractère. Ceci est décrit comme le caractère générique.

  • Une expression régulière peut inclure des classes de caractères. Un ensemble de caractères peut être donné sous la forme d'une simple séquence de caractères entre les méta-caractères [et] comme dans [aeiou]. Pour les plages de lettres ou de nombres, vous pouvez utiliser un séparateur de tirets comme dans [a – z] ou [a – mA – M]. Le complément d'une classe de caractères est indiqué par un signe curseur dans les raquettes carrées comme dans [∧a – z] et représente tous les caractères autres que ceux spécifiés. Quelques exemples d'expressions régulières sont donnés ci-dessous

'Groovy' =~ 'Groovy' 
'Groovy' =~ 'oo' 
'Groovy' ==~ 'Groovy' 
'Groovy' ==~ 'oo' 
'Groovy' =~ '∧G' 
‘Groovy' =~ 'G$' 
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'