Il y a trois fonctions permettant l'utilisation d'expressions régulières dans Spectre :
- regexp()
- regexp_subst()
- regexp_value()
Les expressions régulières sont des fonctions de recherche avec correspondance de modèles.
Plutôt que de chercher une chaine basée sur un mot, une phrase ou une autre chaine de caractère, les expressions régulières recherchent des modèles spécifiques, fournis par l'utilisateur.
Ne soyez pas effrayé(e) par les expressions régulières, elles peuvent être intimidantes au début, mais elles ne sont pas aussi compliquées qu'elles en ont l'air.
Retourner un booléen
Voici un exemple de syntaxe basé sur une expression régulière :
Non.[a-zA-Z\\s']*père
Explications / détail :
[a-ZA-Z] --> n'importe quelle lettre, en majuscule ou en minuscule.
[\\s] --> un jeton représentant un caractère d’espace (le slash supplémentaire est pour l'échappement).
['] --> un jeton représentant l'apostrophe.
* --> un modificateur pour le modèle précédent, indiquant une correspondance autant de fois que possible jusqu’à ce que le prochain modèle soit trouvé.
Voici ci-dessous un script .build :
Le contenu de l'entrée texte1 est le suivant :
Le contenu de l'objet calc1 est le suivant :
Un test sur l'objet calc1 donne ceci :
Retourner une valeur
Voici un exemple de syntaxe basé sur une expression régulière :
[0-9]{4}-[0-9]{2}-[0-9]{2}
Explications / détail :
[0-9]{4} --> recherche un chiffre exactement 4 fois, ou dit différemment recherche un nombre avec exactement 4 chiffres.
- --> recherche le tiret.
[0-9]{2} --> recherche un chiffre exactement 2 fois, ou dit différemment recherche un nombre avec exactement 2 chiffres.
Voici ci-dessous un script .build :
Le contenu de l'entrée texte2 est le suivant :
Le contenu de l'objet calc2 est le suivant :
Un test sur l'objet calc2 donne ceci :
Retourner une substitution
Voici un exemple de syntaxe basé sur une expression régulière :
[(]([0-9]*)([.]?[0-9]*)[)]
[(] ou [)] --> recherche la présence d'une parenthèse ouvrante ou fermante.
([0-9]*) --> recherche n'importe quel nombre composé de plusieurs chiffres. Les parenthèses autour du modèle créent ce que l'on appelle un groupe de capture.
([.]?[0-9]*) -->recherche la présence optionnelle d'un point (séparateur de décimales) puis recherche n'importe quel nombre composé de plusieurs chiffres. Les parenthèses autour du modèle créent ce que l'on appelle un groupe de capture.
Voici ci-dessous un script .build :
Le contenu de l'entrée texte3 est le suivant :
Le contenu de l'objet calc3 est le suivant :
Le symbole $ représente un groupe de capture.
Un test sur l'objet calc3 donne ceci :