Les groupes de capture conservent des occurrences résultant d'une recherche, pour un rappel ultérieur durant le processus de mise en correspondance.
Les groupes de capture sont des séquences de caractères entourées de parenthèses (( )). Tous les caractères dans de tels groupes sont traités comme des unités uniques pendant la mise en correspondance du modèle.
#Groupes de capture Expression régulière : (\{.*(\[.*(\())) Cible : {Groupe 1[Groupe 2(Groupe 3)](Groupe 4)} Résultat : dénut=0, fin=30 Groupe(0) = {Groupe 1[Groupe 2(Groupe 3)]( Groupe(1) = {Groupe 1[Groupe 2(Groupe 3)]( Groupe(2) = [Groupe 2(Groupe 3)]( Groupe(3) = (
Il est possible de faire une référence arrière à un groupe de capture en indiquant le numéro du groupe devant être rappelé.
#Rappel du groupe Cible : 200510 Expression régulière : (\d\d)\1 Résultat : aucun Cible : 202020 Expression régulière : (\d\d)\1 Résultat : debut=0, fin=4 groupe(0) = 2020 groupe(1) = 20 Expression régulière : (\d\d) Résultat : debut=0, fin=2 groupe(0) = 20 groupe(1) = 20 debut=2, fin=4 groupe(0) = 20 groupe(1) = 20 debut=4, fin=6 groupe(0) = 20 groupe(1) = 20 #Rappel du groupe imbriqué Cible : Le célèbre physicien Albert Einstein Einstein Expression régulière : (Albert( Einstein)\2) Résultat : denut=21, fin=46 Groupe(0) = Albert Einstein Einstein Groupe(1) = Albert Einstein Einstein Groupe(2) = Einstein Expression régulière : (Albert( Einstein)) Résultat : denut=21, fin=36 Groupe(0) = Albert Einstein Groupe(1) = Albert Einstein Groupe(2) = Einstein
Symboles | Description |
---|---|
\n | Le nième groupe de capture. |