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

Задание 1

Dada a string:

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

Escreva uma expressão regular que encontre a string 'a.a', sem capturar as demais.

Задание 2

Dada a string:

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

Escreva uma expressão regular que encontre a string '2+3', sem capturar as demais.

Задание 3

Dada a string:

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

Задание 4

Dada a string:

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

Задание 5

Dada a string:

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

Escreva uma expressão regular que encontre as strings '*q+', '*qq+', '*qqq+', sem capturar as demais.

Задание 6

Dada a string:

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

Escreva uma expressão regular que encontre as strings entre colchetes e as substitua por '!'.