置換
置換構成体は、置換パターンだけで使用できます。正規表現で同様の機能を使用するには、前方参照 (\1
など) を使用します。前方参照の詳細については、「前方参照」および「前方参照構成体」を参照してください。
エスケープ文字と置換構成体は、置換パターンで認識される特殊な構成体です。次のセクションで説明するすべての構文上の構成体は、正規表現でだけ使用できます。置換パターンでは認識されません。たとえば、置換パターン a*${txt}b
の場合、"a*" の後に txt
キャプチャ グループに一致する部分文字列、さらに文字列 "b" (指定されている場合) が続くような文字列を挿入します。*
文字は、置換パターンではメタ文字として認識されません。同様に、$
パターンは、正規表現一致パターンでは認識されません。正規表現では、$
は文字列の末尾を示します。
名前付き置換パターンおよび番号付き置換パターンを定義する方法を次の表に示します。
文字 | 説明 |
---|---|
$ number |
グループ番号 number (10 進数) と一致した最後の部分文字列に置換されます。 |
${ name } |
(?<name> ) グループと一致した最後の部分文字列に置換されます。 |
$$ |
単一の "$" リテラルに置換されます。 |
$& |
一致したパターン全体と同じパターンに置換されます。 |
$` |
一致した場所より前にある入力文字列のすべてに置換されます。 |
$' |
一致した場所より後にある入力文字列のすべてに置換されます。 |
$+ |
キャプチャされた最後のグループに置換されます。 |
$_ |
入力文字列全体に置換されます。 |