PHPにおける角括弧内の特殊文字
角括弧 [] 内の特殊文字は通常の文字になります。
つまり、バックスラッシュでエスケープする必要がありません。
例
この例の検索パターンは次のとおりです:
xの間に、文字 'a'、'b'、
'c'、またはドットのいずれかがある:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
結果、変数には次の内容が書き込まれます:
'! ! ! xdx ! x@x'
例
この例の検索パターンは次のとおりです: xの間に、任意の小文字のラテン文字またはドットがある:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
結果、変数には次の内容が書き込まれます:
'! ! ! x@x'
実践問題
次の文字列が与えられます:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
文字列 'a.a'、'a+a'、
'a*a' を見つけ、他の文字列には影響を与えない正規表現を書いてください。
次の文字列が与えられます:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
次のパターンに一致する文字列を見つける正規表現を書いてください:
文字 'x'、次にドット、アットマーク、ドル記号ではなく、その後に文字
'z' が続く。