Zoznam špeciálnych znakov v regulárnych výrazoch v PHP

Ak escapingujete obyčajný znak - nič sa nestane - bude stále predstavovať sám seba. Výnimka - čísla, tie sa nedajú escapovať.

Často vzniká pochybnosť, či je daný znak špeciálny. Niektorí ľudia až tak, že escapujú všetky podozrivé znaky postupne. Avšak, to je zlá prax (zaneřadí regulárny výraz spätnými lomkami).

Sú špeciálne znaky: $ ^ . * + ? \ / {} [] () |

Nie sú špeciálne znaky: @ : , ' " ; - _ = < > % # ~ ` & !

Задание 1

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazec 'a.a', bez zachytenia ostatných.

Задание 2

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazec '2+3', bez zachytenia ostatných.

Задание 3

Daný reťazec:

php<?php
  $str = '23 2+3 2++3 2+++3 345 567';
?>

Napíšte regulárny výraz, ktorý nájde reťazce '2+3', '2++3', '2+++3', bez zachytenia ostatných (+ môže byť ľubovoľné množstvo).

Задание 4

Daný reťazec:

php<?php
  $str = '23 2+3 2++3 2+++3 445 677';
?>

Napíšte regulárny výraz, ktorý nájde reťazce '23', '2+3', '2++3', '2+++3', bez zachytenia ostatných.

Задание 5

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazce '*q+', '*qq+', '*qqq+', bez zachytenia ostatných.

Задание 6

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazce v hranatých zátvorkách a nahradí ich '!'.