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: @ : , ' " ; - _ = < > % # ~ ` & !

Задание 1

Data la stringa:

php<?php
  $str = 'a.a aba aea';
?>

Scrivi un'espressione regolare che trovi la stringa 'a.a', senza catturare le altre.

Задание 2

Data la stringa:

php<?php
  $str = '2+3 223 2223';
?>

Scrivi un'espressione regolare che trovi la stringa '2+3', senza catturare le altre.

Задание 3

Data la stringa:

php<?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à).

Задание 4

Data la stringa:

php<?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.

Задание 5

Data la stringa:

php<?php
  $str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>

Scrivi un'espressione regolare che trovi le stringhe '*q+', '*qq+', '*qqq+', senza catturare le altre.

Задание 6

Data la stringa:

php<?php
  $str = '[abc] {abc} abc (abc) [abc]';
?>

Scrivi un'espressione regolare che trovi le stringhe tra parentesi quadre e le sostituisca con '!'.