⊗ppPmRgChG 230 of 447 menu

Grupy znaków w wyrażeniach regularnych PHP

Istnieją specjalne komendy, które pozwalają wybrać od razu całe grupy znaków. Komenda \d oznacza cyfrę od 0 do 9. Komenda \w oznacza cyfrę, łacińską literę lub znak podkreślenia. Komenda \s oznacza spację lub znak spacji: spację, znak nowej linii, tabulację. Można odwrócić znaczenie komendy, pisząc wielką literę: na przykład, jeśli \d - cyfra, to \D - nie cyfra.

Przykład

Znajdźmy wszystkie cyfry:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

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

'! !! !!!'

Przykład

Operatory powtórzenia traktują komendy-grupy jako całość, to znaczy nawiasy grupujące nie są potrzebne. W następnym przykładzie wzorzec wyszukiwania wygląda tak: cyfra od 0 do 9 jeden lub więcej razy:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

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

'! ! ! abc @@@'

Przykład

W następnym przykładzie wzorzec wyszukiwania wygląda tak: cokolwiek jeden lub więcej razy, ale nie cyfra od 0 do 9:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

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

'123!3!'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: znak spacji jeden raz:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

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

'1!12!123!abc!@@@'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: NIE znak spacji jeden lub więcej razy. Wszystkie podciągi, oddzielone spacjami, zostaną zastąpione na '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

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

'! ! ! ! !'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: cyfra lub litera jeden lub więcej razy. Wszystkie podciągi, składające się z cyfr i liter, zostaną zastąpione na '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

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

'! ! ! ! @@@'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: NIE cyfra i NIE litera jeden lub więcej razy. W rozpatrywanym przypadku do tej definicji kwalifikuje się '@@@' i wszystkie spacje (one przecież też nie są cyframi ani literami). Zwróć uwagę na to, że na końcu jedna '!' - w nią przekształcił się ciąg ' @@@' - ze spacją na początku:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

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

'1!12!123!Abc!'

Zadania praktyczne

Dany jest ciąg:

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

Napisz wyrażenie regularne, które znajdzie ciągi, w których po brzegach stoją litery 'a', a między nimi jedna cyfra.

Dany jest ciąg:

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

Napisz wyrażenie regularne, które znajdzie ciągi, w których po brzegach stoją litery 'a', a między nimi dowolna liczba cyfr.

Dany jest ciąg:

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

Napisz wyrażenie regularne, które znajdzie ciągi, w których po brzegach stoją litery 'a', a między nimi dowolna liczba cyfr (w tym również zero cyfr, to znaczy ciąg 'aa').

Dany jest ciąg:

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

Napisz wyrażenie regularne, które znajdzie ciągi następującego rodzaju: po brzegach stoją litery 'a' i 'b', a między nimi - nie liczba.

Dany jest ciąg:

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

Napisz wyrażenie regularne, które znajdzie ciągi następującego rodzaju: po brzegach stoją litery 'a' i 'b', a między nimi - nie litera i nie cyfra.

Dany jest ciąg:

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

Napisz wyrażenie regularne, które zamieni wszystkie spacje na '!'.

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ć