Parenthèses de regroupement dans les expressions régulières JavaScript
Dans les exemples précédents, les opérateurs de répétition n'agissaient que sur un seul caractère qui les précédait. Que faire si nous voulons les faire agir sur plusieurs caractères ?
Pour cela, il existe les parenthèses de regroupement
'(' et . Elles fonctionnent ainsi :
si quelque chose se trouve entre des parenthèses de regroupement
et qu'un opérateur de répétition se trouve immédiatement après ')'')'
- il agira sur tout ce qui se trouve à l'intérieur des parenthèses.
Regardons des exemples.
Exemple
Dans l'exemple suivant, le modèle de recherche est
le suivant : la lettre 'x', suivie de la chaîne 'ab'
une ou plusieurs fois, puis la lettre 'x' :
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
En conséquence, la variable contiendra ce qui suit :
'! ! xaabbx'
Problèmes pratiques
Soit une chaîne :
let str = 'ab abab abab abababab abea';
Écrivez une expression régulière qui trouvera les chaînes
selon le modèle : la chaîne 'ab' répétée
1 fois ou plus.