⊗ppPmRgOC 241 of 447 menu

Polecenie 'lub' w wyrażeniach regularnych PHP

W tej lekcji przeanalizujemy polecenie |, które stanowi bardziej zaawansowany wariant LUB w porównaniu do polecenia []. To polecenie pozwala podzielić wyrażenie regularne na kilka części. Przy tym szukany ciąg może pasować albo do jednej części wyrażenia, albo do drugiej. Spójrzmy na przykładach.

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: trzy litery 'a' lub trzy litery 'b':

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

W rezultacie do zmiennej zapisze się następujący ciąg:

'! ! abb'

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: trzy litery 'a' lub od 1 i więcej liter 'b':

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

W rezultacie do zmiennej zapisze się następujący ciąg:

'! ! ! ! axx'

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: jedna lub więcej liter lub trzy cyfry:

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

W rezultacie do zmiennej zapisze się następujący ciąg:

'! ! ! 1 12 !'

Przykład

Pionowa kreska może dzielić wyrażenie regularne nie na dwie części, ale na dowolną liczbę części:

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

W rezultacie do zmiennej zapisze się następujący ciąg:

'! ! ! ddd'

Przykład

Jeśli pionowa kreska znajduje się wewnątrz okrągłych nawiasów, to 'lub' działa tylko wewnątrz tych nawiasów. Dla przykładu znajdźmy ciągi według następującego wzorca: na początku stoi lub 'a', lub 'b' jeden lub więcej razy, a potem dwie litery 'x':

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

W rezultacie do zmiennej zapisze się następujący ciąg:

'! ! ! exx'

Zadania praktyczne

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: na brzegach stoją litery 'a', a pomiędzy nimi - lub litera 'e' dowolną liczbę razy lub litera 'x' dowolną liczbę razy.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: na brzegach stoją litery 'a', a pomiędzy nimi - lub litera 'e' dwa razy lub litera 'x' dowolną liczbę razy.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć