⊗ppPmRgRO 224 of 447 menu

Operatory powtarzania znaków w wyrażeniach regularnych

Zdarzają się sytuacje, gdy chcemy wskazać, że znak powtarza się zadaną liczbę razy. Jeśli znamy dokładną liczbę powtórzeń, możemy po prostu napisać go kilka razy - #aaaa#. Ale co zrobić, jeśli chcemy powiedzieć coś takiego: powtórzyć jeden lub więcej razy?

Do tego służą operatory (kwantyfikatory) powtarzania: plus + (jeden lub więcej razy), gwiazdka * (zero lub więcej razy) i pytajnik ? (zero lub jeden raz). Te operatory działają na znak, który stoi przed nimi.

Przyjrzyjmy się działaniu tych operatorów na przykładach.

Przykład

Znajdźmy wszystkie podciągi według wzorca litera 'x', litera 'a' jeden lub więcej razy, litera 'x':

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

W rezultacie do zmiennej zostanie zapisane następujące:

'xx ! ! ! xbx'

Przykład

Znajdźmy wszystkie podciągi według wzorca litera 'x', litera 'a' zero lub więcej razy, litera 'x':

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

W rezultacie do zmiennej zostanie zapisane następujące:

'! ! ! ! xbx'

Przykład

Znajdźmy wszystkie podciągi według wzorca litera 'x', litera 'a' zero lub jeden raz, litera 'x':

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

W rezultacie do zmiennej zostanie zapisane następujące:

'! ! xaax xbx'

Zadania praktyczne

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: litera 'a', litera 'b' jeden lub więcej razy, litera 'a'.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: litera 'a', litera 'b' zero lub więcej razy, litera 'a'.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: litera 'a', litera 'b' jeden raz lub ani razu, litera 'a'.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi 'aa', 'aba', 'abba', 'abbba', nie łapiąc 'abca' i 'abea'.

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ć