expression régulière
Syntaxe de la Grammaire ECMAScript
La syntaxe REGEX implémentée dans ASTER est la version ECMAScript (JavaScript).
À propos des expressions régulières
ECMAScript est une spécification standard de JavaScript définie par une organisation appelée ECMA. Elle fournit un mécanisme de standardisation de la spécification du langage et de maintien de la compatibilité pour fonctionner couramment sur différents navigateurs.
Il existe plusieurs variantes de grammaires d’expressions régulières, et de nos jours, il existe de nombreux textes sur le web qui enseignent la version ECMAScript de la grammaire. Par conséquent, les opportunités d’apprendre avec les grammaires d’expressions régulières ECMAScript se multiplient.
Elle est basée sur une notation conçue par le mathématicien américain Stephen Cole Kleene
en 1943, et a été plus tard implémentée par Kenneth Lane Thompson
dans Ken’s CTSS QED, un éditeur pour les ordinateurs centraux, qui a intégré la première “expression régulière” de l’histoire de l’informatique.
Les expressions régulières, qui ont évolué sur UNIX, sont devenues une technologie essentielle pour la gestion de grandes quantités de texte sur tous les ordinateurs modernes.
regex101.com
Parce que les expressions régulières nécessitent une certaine quantité d’essais et d’erreurs, nous recommandons d’utiliser un outil utile appelé regex101.com pour vérifier leur fonctionnement dans votre navigateur.
Il offre une fonctionnalité SAVE & SHARE
, vous permettant de partager les résultats avec une URL courte.
De plus, la section Match Information
répertorie les résultats de la recherche et affiche visuellement les sous-correspondances obtenues lors de l’utilisation des groupes de capture, ce qui rend le débogage et les tests plus efficaces.
Fonctions d’expressions régulières disponibles dans ASTER
- REGEX Search :: Partial Match
- REGEX Search :: Exact Match
- REGEX Replace
Vous pouvez utiliser les expressions régulières pour la recherche et le remplacement de texte. La syntaxe de base est la suivante.
Pattern | French | English |
---|---|---|
x|y | L’opérateur d’alternance | The alternation operator |
[xyz] | Classe de caractères | Character class |
[^xyz] | Classe de caractères négative | Negated character class |
\1 | Référence arrière | Backreference |
(x) | Groupe de capture | Capturing Groups |
{n} | Quantificateur fixe | Fixed quantifier |
{n,m} | Quantificateur gourmand | Greedy quantifier |
(?:x) | Groupe non capturant | Non-Capturing Groups |
(?=x) | Anticipation positive | Positive lookahead |
(?!x) | Anticipation négative | Negative lookahead |
Caractères de contrôle
En raison des spécifications de CF25, la transmission de chaînes de caractères de contrôle reste limitée. Certains caractères de contrôle dans le processus de remplacement ne sont pas pris en charge.
Recherche de correspondance de modèle
Comme il s’agit d’une recherche de correspondance de modèle, le traitement est plus lourd qu’une recherche de chaîne normale.
Spécifications
Le C++20 STL ne prend pas en charge toutes les fonctionnalités des expressions régulières ECMAScript, et les LookBehinds ne peuvent pas être utilisés. Les groupes de capture nommés ne sont également pas pris en charge.
(?<=T.+e)S.+t
Bien que la syntaxe ci-dessus soit correcte, elle entraînera une “Erreur de Syntaxe” sur ASTER car les Lookbehinds (REGEX) ne peuvent pas être utilisés.
Cette expression régulière correspond à toute chaîne qui commence par S
et se termine par t
, suivant une chaîne qui commence par T
et se termine par e
.
Lien correspondant