⊗ppPmRgOC 241 of 447 menu

La commande 'ou' dans les expressions régulières PHP

Dans cette leçon, nous analyserons la commande |, qui représente une variante plus puissante de OU par rapport à la commande []. Cette commande permet de diviser l'expression régulière en plusieurs parties. La correspondance peut alors satisfaire soit une partie de l'expression régulière, soit une autre. Voyons cela avec des exemples.

Exemple

Dans cet exemple, le modèle de recherche est : trois lettres 'a' ou trois lettres 'b' :

<?php $str = 'aaa bbb abb'; $res = preg_replace('#a{3}|b{3}#', '!', $str); ?>

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

'! ! abb'

Exemple

Dans cet exemple, le modèle de recherche est : trois lettres 'a' ou de 1 à plusieurs lettres 'b' :

<?php $str = 'aaa bbb bbbb bbbbb axx'; $res = preg_replace('#a{3}|b+#', '!', $str); ?>

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

'! ! ! ! axx'

Exemple

Dans cet exemple, le modèle de recherche est : une lettre ou plus ou trois chiffres :

<?php $str = 'a ab abc 1 12 123'; $res = preg_replace('#[a-z]+|\d{3}#', '!', $str); ?>

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

'! ! ! 1 12 !'

Exemple

La barre verticale peut diviser l'expression régulière non pas en deux parties, mais en un nombre quelconque de parties :

<?php $str = 'aaa bbb ccc ddd'; $res = preg_replace('#a+|b+|c+#', '!', $str); ?>

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

'! ! ! ddd'

Exemple

Si la barre verticale est à l'intérieur de parenthèses simples, alors le 'ou' fonctionne seulement à l'intérieur de ces parenthèses. Par exemple, trouvons les chaînes selon le modèle suivant : au début se trouve soit 'a', soit 'b' une ou plusieurs fois, puis deux lettres 'x' :

<?php $str = 'axx bxx bbxx exx'; $res = preg_replace('#(a|b+)xx#', '!', $str); ?>

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

'! ! ! exx'

Tâches pratiques

Soit la chaîne :

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Écrivez une expression régulière qui trouvera les chaînes selon le modèle : sur les bords se trouvent les lettres 'a', et entre elles - soit la lettre 'e' un nombre quelconque de fois, soit la lettre 'x' un nombre quelconque de fois.

Soit la chaîne :

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Écrivez une expression régulière qui trouvera les chaînes selon le modèle : sur les bords se trouvent les lettres 'a', et entre elles - soit la lettre 'e' deux fois soit la lettre 'x' un nombre quelconque de fois.

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