Seznam speciálních znaků v regulárních výrazech v PHP

Pokud escapujete běžný znak - nic se nestane - stále bude představovat sám sebe. Výjimkou jsou čísla, ta nelze escapovat.

Často vzniká pochybnost, zda je daný znak speciální. Někteří docházejí až k tomu, že escapují všechny podezřelé znaky za sebou. To je však špatná praxe (zaneřádí regulární výraz zpětnými lomítky).

Jsou speciálními znaky: $ ^ . * + ? \ / {} [] () |

Nejsou speciálními znaky: @ : , ' " ; - _ = < > % # ~ ` & !

Задание 1

Je dán řetězec:

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

Napište regulární výraz, který najde řetězec 'a.a', bez zachycení ostatních.

Задание 2

Je dán řetězec:

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

Napište regulární výraz, který najde řetězec '2+3', bez zachycení ostatních.

Задание 3

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce '2+3', '2++3', '2+++3', bez zachycení ostatních (+ může být libovolný počet).

Задание 4

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce '23', '2+3', '2++3', '2+++3', bez zachycení ostatních.

Задание 5

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce '*q+', '*qq+', '*qqq+', bez zachycení ostatních.

Задание 6

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce v hranatých závorkách a nahradí je na '!'.