Lista de caracteres especiais em expressões regulares no PHP
Se você escapar um caractere comum - nada de ruim acontecerá - ele ainda representará a si mesmo. A exceção são os dígitos, eles não podem ser escapados.
Muitas vezes surge a dúvida se um determinado caractere é especial. Alguns chegam ao ponto de escapar todos os caracteres suspeitos seguidos. No entanto, isso é uma má prática (polui a expressão regular com barras invertidas).
São caracteres especiais: $ ^ . * + ? \
/ {} [] () |
Não são caracteres especiais: @ : , ' " ;
- _ = < > % # ~ ` & !
Dada a string:
<?php
$str = 'a.a aba aea';
?>
Escreva uma expressão regular que encontre a string
'a.a', sem capturar as demais.
Dada a string:
<?php
$str = '2+3 223 2223';
?>
Escreva uma expressão regular que encontre a string
'2+3', sem capturar as demais.
Dada a string:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Escreva uma expressão regular que encontre as strings
'2+3', '2++3', '2+++3',
sem capturar as demais (+ pode ser qualquer
quantidade).
Dada a string:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Escreva uma expressão regular que encontre as strings
'23', '2+3', '2++3',
'2+++3', sem capturar as demais.
Dada a string:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Escreva uma expressão regular que encontre as strings
'*q+', '*qq+', '*qqq+',
sem capturar as demais.
Dada a string:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Escreva uma expressão regular que encontre as strings
entre colchetes e as substitua por '!'.