⊗ppPmRgChG 230 of 447 menu

Grupuri de caractere în expresiile regulate PHP

Există comenzi speciale care permit selectarea imediată a grupurilor întregi de caractere. Comanda \d înseamnă o cifră de la 0 la 9. Comanda \w desemnează o cifră, o literă latină sau semnul de subliniere. Comanda \s desemnează un spațiu sau un caracter de spațiu: spațiu, trecere la linie nouă, tabulare. Se poate inversa valoarea comenzii, scriind litera mare: de exemplu, dacă \d este o cifră, atunci \D înseamnă non-cifră.

Exemplu

Să găsim toate cifrele:

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

În rezultat, în variabilă se va scrie următoarele:

'! !! !!!'

Exemplu

Operatorii de repetare consideră comenzile-grup ca un întreg, adică parantezele de grupare nu sunt necesare. În următorul exemplu, șablonul de căutare arată astfel: cifră de la 0 la 9 unul sau de mai multe ori:

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

În rezultat, în variabilă se va scrie următoarele:

'! ! ! abc @@@'

Exemplu

În următorul exemplu, șablonul de căutare arată astfel: orice unul sau de mai multe ori, dar nu cifră de la 0 la 9:

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

În rezultat, în variabilă se va scrie următoarele:

'123!3!'

Exemplu

În acest exemplu, șablonul de căutare arată astfel: caracter de spațiu o dată:

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

În rezultat, în variabilă se va scrie următoarele:

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

Exemplu

În acest exemplu, șablonul de căutare arată astfel: caracter NON-spațiu unul sau de mai multe ori. Toate subșirurile, separate prin spații, vor fi înlocuite cu '!':

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

În rezultat, în variabilă se va scrie următoarele:

'! ! ! ! !'

Exemplu

În acest exemplu, șablonul de căutare arată astfel: cifră sau literă unul sau de mai multe ori. Toate subșirurile, formate din cifre și litere, vor fi înlocuite cu '!':

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

În rezultat, în variabilă se va scrie următoarele:

'! ! ! ! @@@'

Exemplu

În acest exemplu, șablonul de căutare arată astfel: NON-cifră și NON-literă unul sau de mai multe ori. În cazul nostru, sub această definiție se încadrează '@@@' și toate spațiile (ele de asemenea nu sunt cifre și nici litere). Acordați atenție faptului că la final este un '!' - în el s-a transformat șirul ' @@@' - cu un spațiu în față:

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

În rezultat, în variabilă se va scrie următoarele:

'1!12!123!Abc!'

Probleme practice

Este dat șirul:

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

Scrieți o expresie regulată care va găsi șirurile, în care la margini sunt literele 'a', iar între ele o singură cifră.

Este dat șirul:

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

Scrieți o expresie regulată care va găsi șirurile, în care la margini sunt literele 'a', iar între ele orice număr de cifre.

Este dat șirul:

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

Scrieți o expresie regulată care va găsi șirurile, în care la margini sunt literele 'a', iar între ele orice număr de cifre (inclusiv și zero cifre, adică șirul 'aa').

Este dat șirul:

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

Scrieți o expresie regulată care va găsi șiruri de următorul tip: la margini sunt literele 'a' și 'b', iar între ele - nu un număr.

Este dat șirul:

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

Scrieți o expresie regulată care va găsi șiruri de următorul tip: la margini sunt literele 'a' și 'b', iar între ele - nu o literă și nu o cifră.

Este dat șirul:

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

Scrieți o expresie regulată care va înlocui toate spațiile cu '!'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge