Karakterkészletek invertálása a reguláris kifejezésekben
A kalap ^ karakterrel a szögletes zárójelek elején inverzívá tehetjük a kívántakat. Azaz,
ha például a [ab] parancs az
'a' vagy 'b' betűt keresi,
akkor a [^ab] parancs minden karaktert meg fog keresni, kivéve
az 'a' és 'b' betűket.
Példa
Ebben a példában a keresési minta így néz ki:
az 'x' betű, majd NEM az 'a' betű,
nem az 'b' és nem az 'c', majd az
'z' betű:
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Ennek eredményeképpen a változóba a következő íródik:
'xaz xbz xcz !'
Példa
Ebben a példában a keresési minta így néz ki:
az 'x' betű, majd NEM kis latin
betű, majd az 'z' betű:
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Ennek eredményeképpen a változóba a következő íródik:
'xaz xbz ! !'
Gyakorlati feladatok
Írjon reguláris kifejezést, amely megtalálja a következő minta szerinti
karakterláncokat: a '1' számjegy, majd olyan karakter,
ami nem 'e' és nem 'x', majd a '2' számjegy.
Írjon reguláris kifejezést, amely megtalálja a következő minta szerinti
karakterláncokat: az 'x' betű, majd NEM
2 és 7 közötti számjegy, majd az 'z' betű.
Írjon reguláris kifejezést, amely megtalálja a következő minta szerinti
karakterláncokat: az 'x' betű, majd NEM
nagy latin betű 1 vagy több alkalommal,
majd az 'z' betű.
Írjon reguláris kifejezést, amely megtalálja a következő minta szerinti
karakterláncokat: az 'x' betű, majd nem
nagy és nem kis latin betű és nem 1 és 5 közötti számjegy
1 vagy több alkalommal, majd az 'z' betű.