Caracteres especiais dentro de colchetes no PHP
Caracteres especiais dentro de [] tornam-se caracteres
comuns. Isso significa que eles não precisam ser escapados
com uma barra invertida.
Exemplo
Neste exemplo, o padrão de pesquisa é o seguinte:
entre os 'x', qualquer letra 'a', 'b',
'c', ou um ponto:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
Como resultado, a variável conterá o seguinte:
'! ! ! xdx ! x@x'
Exemplo
Neste exemplo, o padrão de pesquisa é o seguinte: entre os 'x', qualquer letra latina minúscula ou um ponto:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
Como resultado, a variável conterá o seguinte:
'! ! ! x@x'
Tarefas práticas
Dada a string:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Escreva uma expressão regular que encontre as strings
'a.a', 'a+a', 'a*a',
sem afetar as demais.
Dada a string:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Escreva uma expressão regular que encontre as strings
segundo o padrão: letra 'x', depois NÃO
ponto, NÃO arroba, e NÃO cifrão, e então a letra
'z'.