PHP正規表現における特殊文字の一覧

通常の文字をエスケープしても問題ありません。それは依然として自分自身を表します。例外は数字であり、エスケープすることはできません。

ある文字が特殊文字かどうか疑問に思うことがよくあります。中には、怪しい文字をすべて片っ端からエスケープする人もいます。しかし、これは悪い習慣です(正規表現をバックスラッシュで散らかしてしまいます)。

特殊文字は次のとおりです:$ ^ . * + ? \ / {} [] () |

特殊文字ではないもの:@ : , ' " ; - _ = < > % # ~ ` & !

Задание 1

次の文字列が与えられています:

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

文字列'a.a'を見つけ、他の文字列を取り込まない正規表現を書いてください。

Задание 2

次の文字列が与えられています:

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

文字列'2+3'を見つけ、他の文字列を取り込まない正規表現を書いてください。

Задание 3

次の文字列が与えられています:

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

文字列'2+3'、'2++3'、'2+++3'を見つけ、他の文字列を取り込まない正規表現を書いてください(+の数は任意です)。

Задание 4

次の文字列が与えられています:

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

文字列'23'、'2+3'、'2++3'、'2+++3'を見つけ、他の文字列を取り込まない正規表現を書いてください。

Задание 5

次の文字列が与えられています:

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

文字列'*q+'、'*qq+'、'*qqq+'を見つけ、他の文字列を取り込まない正規表現を書いてください。

Задание 6

次の文字列が与えられています:

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

角括弧内の文字列を見つけ、それらを'!'に置き換える正規表現を書いてください。