Elenco dei caratteri speciali nelle espressioni regolari in PHP
Se si escape un carattere ordinario - non succede niente di grave - rappresenterà comunque se stesso. L'eccezione sono le cifre, che non possono essere escaped.
Spesso sorge il dubbio se un dato carattere sia speciale. Alcuni arrivano al punto di escapare tutti i caratteri sospetti indiscriminatamente. Tuttavia, questa è una cattiva pratica (ingombra l'espressione regolare con backslash).
Sono caratteri speciali: $ ^ . * + ? \
/ {} [] () |
Non sono caratteri speciali: @ : , ' " ;
- _ = < > % # ~ ` & !
Data la stringa:
<?php
$str = 'a.a aba aea';
?>
Scrivi un'espressione regolare che trovi la stringa
'a.a', senza catturare le altre.
Data la stringa:
<?php
$str = '2+3 223 2223';
?>
Scrivi un'espressione regolare che trovi la stringa
'2+3', senza catturare le altre.
Data la stringa:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Scrivi un'espressione regolare che trovi le stringhe
'2+3', '2++3', '2+++3',
senza catturare le altre (+ può essere qualsiasi
quantità).
Data la stringa:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Scrivi un'espressione regolare che trovi le stringhe
'23', '2+3', '2++3',
'2+++3', senza catturare le altre.
Data la stringa:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Scrivi un'espressione regolare che trovi le stringhe
'*q+', '*qq+', '*qqq+',
senza catturare le altre.
Data la stringa:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Scrivi un'espressione regolare che trovi le stringhe
tra parentesi quadre e le sostituisca con '!'.