Undtagelser inden for sæt i regulære udtryk i PHP
Du ved allerede, at specialtegn inden for []
bliver almindelige tegn. Der er dog
undtagelser: hvis du har brug for kantede parenteser
som tegn, skal de escapes med omvendt
skråstreg.
Som et eksempel, i den følgende kode ser søgemonsteret sådan ud: mellem x'er står en kantet parentes:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
Resultatet i variablen vil være følgende:
'! xax ! x1x'
Givet en streng:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
Skriv et regulært udtryk, der finder alle ord
efter mønsteret: bogstavet 'x', derefter et hvilket som helst
antal af enhver type parentes, derefter bogstavet 'z'.
Givet en streng:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Skriv et regulært udtryk, der finder strenge
i enhver type parentes og erstatter dem med '!'.