Špeciálne znaky v hranatých zátvorkách v PHP

Špeciálne znaky vnútri [] sa stávajú obyčajnými znakmi. To znamená, že ich netreba escapovať spätným lomítkom.

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: medzi iksami ľubovoľné písmeno 'a', 'b', 'c', alebo bodka:

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

Výsledkom do premennej bude nasledujúci reťazec:

php'! ! ! xdx ! x@x'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: medzi iksami ľubovoľné malé latinské písmeno alebo bodka:

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

Výsledkom do premennej bude nasledujúci reťazec:

php'! ! ! x@x'

Praktické úlohy

Задание 1

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazce 'a.a', 'a+a', 'a*a', a neovplyvní ostatné.

Задание 2

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE bodka, NIE zavináč, a NIE dolár, a potom písmeno 'z'.