グループ化構成体は、正規表現の部分式を構成します。一般的にキャプチャ用途に使用されます。
以下のグループ化構成体は、検索文字列でのみ使用できます。
グループ化構成体 | 説明 |
---|---|
(subexpression) |
部分式 subexpression をグループ化し、キャプチャします。 キャプチャには、左カッコの出現順に基づき、自動的に 1 から始まる番号が付けられます。キャプチャ番号 0 は、検索文字列にマッチした文字列全体のキャプチャです。 キャプチャされた部分式は、前方参照や置換における参照で使用できます。 (abc)de\1 の検索文字列は、abcdeabc にマッチします。 abcdefg という文字列に対し、
を適用すると、 ebcdafg に置換されます。 |
(?<name>subexpression) |
部分式 subexpression をグループ化し、名前付きでキャプチャします。 キャプチャには、name の名前が与えられます。name に区切り記号を含むことはできません。また、 name の先頭に数字を用いることもできません。 キャプチャされた部分式は、前方参照や置換における参照で使用できます。 (?<capture1>abc)de\k<capture1> の検索文字列は、abcdeabc にマッチします。 abcdefg という文字列に対し、
を適用すると、 ebcdafg に置換されます。 |
(?<name1-name2>subexpression) |
グループ定義を均等化します。詳しくは.NET Framework の正規表現をご覧ください。 |
(?:subexpression) |
部分式 subexpression をキャプチャせずにグループ化します。 (?:ab)(cd)e\1 の検索文字列は、abcdecd にマッチします。 abcdefg という文字列に対し、
を適用すると、 fdeag に置換されます。 |
(?imnsx-imnsx:subexpression) |
部分式 subexpression のオプションを変更します。キャプチャはされません。 オプションの変更は、有効化 - 無効化 で記述します。
「大文字/小文字の区別」オプションをオンにしても、(?i-:A)bcd の検索文字列は、abcd にマッチします。 |
(?=subexpression) |
(?= ) でグループ化した部分自体にはマッチせず(キャプチャもしません)、直前の表現に、後置が一致しなければマッチしないという影響を与えます。 employ(?=er) ならば、 employer の employ にはマッチしますが、 employee の employ にはマッチしません。 |
(?!subexpression) |
(?! ) でグループ化した部分自体にはマッチせず(キャプチャもしません)、直前の表現に、後置が一致していればマッチしないという影響を与えます。 employ(?!er) ならば、 employee の employ にはマッチしますが、 employer の employ にはマッチしません。 |
(?<=subexpression) |
(?<= ) でグループ化した部分自体にはマッチせず(キャプチャもしません)、後続の表現に、前置が一致しなければマッチしないという影響を与えます。 (?<=pre)fix ならば、 prefix の fix にはマッチしますが、 suffix の fix にはマッチしません。 |
(?<!subexpression) |
(?<! ) でグループ化した部分自体にはマッチせず(キャプチャもしません)、後続の表現に、前置が一致していればマッチしないという影響を与えます。 (?<!pre)fix ならば、 suffix の fix にはマッチしますが、 prefix の fix にはマッチしません。 |
(?>subexpression) |
非バックトラッキング部分式です。"最長" 部分式とも呼ばれます。部分式は 1 回完全に一致し、バックトラッキングの断片には参加しません。つまり、部分式は、その部分式単独で一致する文字列にだけ一致します。詳しくは.NET Framework の正規表現をご覧ください。 |
2008/11/19 wrote; by SirMiles
All rights reserved,Copyright ©SirMiles 2008-.