PHPにおける角括弧内の特殊文字

角括弧 [] 内の特殊文字は通常の文字になります。 つまり、バックスラッシュでエスケープする必要がありません。

例

この例の検索パターンは次のとおりです: xの間に、文字 'a'、'b'、 'c'、またはドットのいずれかがある:

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

結果、変数には次の内容が書き込まれます:

php'! ! ! xdx ! x@x'

例

この例の検索パターンは次のとおりです: xの間に、任意の小文字のラテン文字またはドットがある:

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

結果、変数には次の内容が書き込まれます:

php'! ! ! x@x'

実践問題

Задание 1

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

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

文字列 'a.a'、'a+a'、 'a*a' を見つけ、他の文字列には影響を与えない正規表現を書いてください。

Задание 2

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

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

次のパターンに一致する文字列を見つける正規表現を書いてください: 文字 'x'、次にドット、アットマーク、ドル記号ではなく、その後に文字 'z' が続く。