Expressions régulières

Une expression régulière (ou rationnelle) est une chaîne de caractères que l'on appelle parfois un motif et qui décrit un ensemble de chaînes de caractères possibles selon une syntaxe précise . Il est possible dans les expressions Sentinelle d'utiliser de tel motif pour effectuer des recherches dans la valeur des composantes. Ruby propose un opérateur particulier pour effectuer ce type de recherche, il s'agit du =~

Expressions Ruby

TODO

Exemples d'expressions régulières

Exemple

Description

/[Ss]entinelle3/

TODO

/sentin[ei]lle3/

/[aeiou]/

/[0-9]/

/[a-z]/

/[A-Z]/

/[a-zA-Z0-9]/

/[^aeiou]/

/[^0-9]/

Exemple d'utilisation dans Sentinelle

Imaginons un cs d'utilisation des expressions régulières dans Sentinelle.

Nous souhaitons voir afficher les collèges dont le nom contient 'ADRIEN'.

Pour bien comprendre comment fonctionne une expression régulière, nous utiliserons d'abord le bac à sables.

Nous prendrons 2 établissements pour tester notre expression.

UAJ

infosetabs.libelle

9740005M

COLLEGE ADRIEN CADET

9740006N

COLLEGE LE DIMITILE

Nous utiliserons l'opérateur de comparaison =~ pour comparer notre expression avec le motif'ADRIEN'

{infosetabs.libelle} =~ /ADRIEN/

Si l'un des établissements comportent la chaîne de caractères ADRIEN, cette expression retournera alors le positionnement, en nombre, de la chaîne de caractères. Sinon il retournera 'false'.

Dans le bac à sable, nous testons notre expression avec le Collège Adrien CADET :

Cliquer sur 'Evaluer' :

Nous obtenons le chiffre 8 car la chaîne de caractère ADRIEN se trouve à la 8ème position de 'COLLEGE ADRIEN CADET'.

Prenons maintenant le Collège le Dimitile, avec la même expression :

Cliquer sur 'Evaluer' :

Nous obtenons 'false' car le 'COLLEGE LE DIMITILE' ne contient pas la chaîne de caractère 'ADRIEN'.

Maintenant que nous savons comment est interprété la syntaxe de notre expression régulière, nous allons écrire notre expression de filtrage.

Décomposons notre expression, tout d'abord, nous avons notre expression régulière vu précédemment qui retourne soit un chiffre, soit nil, ensuite nous avons l'opérateur de comparaison différent de != et enfin nil.

En langage commun, notre expression affichera les établissements dont l'expression régulière sera différent de nil ; donc tous les établissements contenant le nom 'ADRIEN' dans leur libelle.

Cliquer sur 'Tester' :

Nous trouvons alors 2 établissements, le Collège Adrien CADET et le Collège Adrien CERNEAU.