⊗ppPmRgRO 224 of 447 menu

Opérateurs de répétition de caractères dans les regex

Il arrive que nous souhaitions indiquer qu'un caractère se répète un certain nombre de fois. Si nous connaissons le nombre exact de répétitions, nous pouvons simplement l'écrire plusieurs fois - #aaaa#. Mais que faire si nous voulons dire quelque chose comme : répéter une fois ou plus ?

Pour cela, il existe des opérateurs (quantificateurs) de répétition : le plus + (une fois ou plus), l'astérisque * (zéro fois ou plus) et le point d'interrogation ? (zéro fois ou une fois). Ces opérateurs agissent sur le caractère qui les précède.

Examinons le fonctionnement de ces opérateurs à l'aide d'exemples.

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' une fois ou plus, lettre 'x' :

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa+x#', '!', $str); ?>

En conséquence, la variable contiendra ce qui suit :

'xx ! ! ! xbx'

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' zéro fois ou plus, lettre 'x' :

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa*x#', '!', $str); ?>

En conséquence, la variable contiendra ce qui suit :

'! ! ! ! xbx'

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' zéro fois ou une fois, lettre 'x' :

<?php $str = 'xx xax xaax xbx'; $res = preg_replace('#xa?x#', '!', $str); ?>

En conséquence, la variable contiendra ce qui suit :

'! ! xaax xbx'

Problèmes pratiques

Soit la chaîne :

<?php $str = 'aa aba abba abbba abca abea'; ?>

Écrivez une expression régulière qui trouvera les chaînes selon le motif : lettre 'a', lettre 'b' une fois ou plus, lettre 'a'.

Soit la chaîne :

<?php $str = 'aa aba abba abbba abca abea'; ?>

Écrivez une expression régulière qui trouvera les chaînes selon le motif : lettre 'a', lettre 'b' zéro fois ou plus, lettre 'a'.

Soit la chaîne :

<?php $str = 'aa aba abba abbba abca abea'; ?>

Écrivez une expression régulière qui trouvera les chaînes selon le motif : lettre 'a', lettre 'b' une fois ou aucune, lettre 'a'.

Soit la chaîne :

<?php $str = 'aa aba abba abbba abca abea'; ?>

Écrivez une expression régulière qui trouvera les chaînes 'aa', 'aba', 'abba', 'abbba', sans capturer 'abca' et 'abea'.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser