Specialtecken inom hakparenteser i PHP
Specialtecken inuti [] blir vanliga
tecken. Det betyder att de inte behöver escapeas
med ett omvänt snedstreck.
Exempel
I detta exempel ser sökmönstret ut så här:
mellan x vilken bokstav som helst 'a', 'b',
'c', eller en punkt:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
Som ett resultat kommer följande att skrivas in i variabeln:
'! ! ! xdx ! x@x'
Exempel
I detta exempel ser sökmönstret ut så här: mellan x vilken liten latinsk bokstav som helst eller en punkt:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
Som ett resultat kommer följande att skrivas in i variabeln:
'! ! ! x@x'
Praktiska uppgifter
Given en sträng:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'a.a', 'a+a', 'a*a',
utan att påverka de andra.
Given en sträng:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: bokstaven 'x', sedan INTE
punkt, INTE snabel-a, och INTE dollartecken, och sedan bokstaven
'z'.