⊗ppPmRgChG 230 of 447 menu

Grupe simbola u regularnim izrazima PHP

Postoje specijalne komande koje omogućavaju odabir čitavih grupa simbola odjednom. Komanda \d označava cifru od 0 do 9. Komanda \w označava cifru, latinično slovo ili znak donje crte. Komanda \s označava razmak ili beli prostor (whitespace): razmak, prelazak u novi red, tabulator. Vrednost komande se može invertovati pisanjem velikog slova: na primer, ako je \d cifra, onda je \D sve osim cifre.

Primer

Hajde da pronadjemo sve cifre:

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'! !! !!!'

Primer

Operator ponavljanja tretira grupe komandi kao jednu celinu, što znači da zagrade za grupisanje nisu potrebne. U sledećem primeru šablon pretrage izgleda ovako: cifra od 0 do 9 jedan ili više puta:

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'! ! ! abc @@@'

Primer

U sledećem primeru šablon pretrage izgleda ovako: bilo šta jedan ili više puta, ali ne cifra od 0 do 9:

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'123!3!'

Primer

U ovom primeru šablon pretrage izgleda ovako: simbol belog prostora jedan put:

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

Kao rezultat, u promenljivu će biti upisano sledeće:

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

Primer

U ovom primeru šablon pretrage izgleda ovako: NIKO simbol belog prostora jedan ili više puta. Svi podstringovi, razdvojeni razmacima, biće zamenjeni sa '!':

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'! ! ! ! !'

Primer

U ovom primeru šablon pretrage izgleda ovako: cifra ili slovo jedan ili više puta. Svi podstringovi koji se sastoje od cifara i slova biće zamenjeni sa '!':

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'! ! ! ! @@@'

Primer

U ovom primeru šablon pretrage izgleda ovako: NIKO cifra i NIKO slovo jedan ili više puta. Prema ovoj definiciji u našem slučaju spadaju '@@@' i svi razmaci (jer oni takođe nisu ni cifre ni slova). Obratite pažnju na to da na kraju postoji jedna '!' - u nju je transformisan string ' @@@' - sa razmakom ispred:

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

Kao rezultat, u promenljivu će biti upisano sledeće:

'1!12!123!Abc!'

Praktični zadaci

Dat je string:

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

Napišite regularni izraz koji će pronaći stringove, u kojima sa obe strane stoje slova 'a', a između njih je jedna cifra.

Dat je string:

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

Napišite regularni izraz koji će pronaći stringove, u kojima sa obe strane stoje slova 'a', a između njih je bilo koji broj cifara.

Dat je string:

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

Napišite regularni izraz koji će pronaći stringove, u kojima sa obe strane stoje slova 'a', a između njih je bilo koji broj cifara (uključujući i nulu cifara, odnosno string 'aa').

Dat je string:

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

Napišite regularni izraz koji će pronaći stringove sledećeg oblika: sa obe strane stoje slova 'a' i 'b', a između njih - ne cifra.

Dat je string:

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

Napišite regularni izraz koji će pronaći stringove sledećeg oblika: sa obe strane stoje slova 'a' i 'b', a između njih - nije slovo i nije cifra.

Dat je string:

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

Napišite regularni izraz koji će zameniti sve razmake sa '!'.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij