PHP正規表現における文字クラス内の例外
あなたは既に、[] 内の特殊文字は通常の文字になることを知っています。
しかし、例外があります:角括弧自体を文字として必要とする場合は、バックスラッシュでエスケープする必要があります。
例として、次のコードの検索パターンは次のようになります:Xの間に角括弧がある:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
結果、変数には以下が書き込まれます:
'! xax ! x1x'
以下の文字列が与えられます:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
次のパターンに一致するすべての単語を見つける正規表現を書いてください:文字 'x'、その後任意の数の任意の括弧、そして文字 'z'。
以下の文字列が与えられます:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
任意の括弧内の文字列を見つけ、それらを '!' に置き換える正規表現を書いてください。