Znaki specjalne wewnątrz nawiasów kwadratowych w PHP

Znaki specjalne wewnątrz [] stają się zwykłymi znakami. Oznacza to, że nie trzeba ich escapować odwrotnym ukośnikiem.

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: pomiędzy iksami dowolna litera 'a', 'b', 'c', albo kropka:

php<?php
  $str = 'xax xbx xcx xdx x.x x@x';
  $res = preg_replace('#x[abc.]x#', '!', $str);
?>

W wyniku do zmiennej zapisze się następująco:

php'! ! ! xdx ! x@x'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: pomiędzy iksami dowolna mała litera łacińska lub kropka:

php<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z.]x#', '!', $str);
?>

W wyniku do zmiennej zapisze się następująco:

php'! ! ! x@x'

Zadania praktyczne

Задание 1

Dany jest ciąg:

php<?php
  $str = 'aba aea aca aza axa a.a a+a a*a';
?>

Napisz wyrażenie regularne, które znajdzie ciągi 'a.a', 'a+a', 'a*a', nie dotykając pozostałych.

Задание 2

Dany jest ciąg:

php<?php
  $str = 'xaz x.z x3z x@z x$z xrz';
?>

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: litera 'x', następnie NIE kropka, NIE małpa, i NIE dolar, a potem litera 'z'.