Excepții în seturile din expresiile regulate în PHP
Știți deja că caracterele speciale din interiorul []
devin caractere obișnuite. Există, totuși,
excepții: dacă aveți nevoie de paranteze pătrate
ca simboluri, atunci acestea trebuie să fie evitate cu backslash.
De exemplu, în următorul cod șablonul de căutare arată astfel: între x-uri se află o paranteză pătrată:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
Ca rezultat, în variabilă se va scrie următoarele:
'! xax ! x1x'
Este dată un șir:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
Scrieți o expresie regulată care va găsi toate cuvintele
după șablonul: litera 'x', apoi orice
număr de orice paranteze, apoi litera 'z'.
Este dată un șir:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Scrieți o expresie regulată care va găsi șirurile
în orice paranteze și le va înlocui cu '!'.