Repl-Ace on .NET Repl-Ace on .NET Documents (Ver.1.0.4)


グループ化構成体

 グループ化構成体は、正規表現の部分式を構成します。一般的にキャプチャ用途に使用されます。

 以下のグループ化構成体は、検索文字列でのみ使用できます。

グループ化構成体 説明

(subexpression)

 部分式 subexpression をグループ化し、キャプチャします。

 キャプチャには、左カッコの出現順に基づき、自動的に 1 から始まる番号が付けられます。キャプチャ番号 0 は、検索文字列にマッチした文字列全体のキャプチャです。

 キャプチャされた部分式は、前方参照や置換における参照で使用できます。

 (abc)de\1 の検索文字列は、abcdeabc にマッチします。

 abcdefg という文字列に対し、

検索文字列:
a(bcd)e
置換文字列:
e$1a

を適用すると、 ebcdafg に置換されます。

(?<name>subexpression)

 部分式 subexpression をグループ化し、名前付きでキャプチャします。

 キャプチャには、name の名前が与えられます。name に区切り記号を含むことはできません。また、 name の先頭に数字を用いることもできません。

 キャプチャされた部分式は、前方参照や置換における参照で使用できます。

 (?<capture1>abc)de\k<capture1> の検索文字列は、abcdeabc にマッチします。

 abcdefg という文字列に対し、

検索文字列:
a(?<capture1>bcd)e
置換文字列:
e${capture1}a

を適用すると、 ebcdafg に置換されます。

(?<name1-name2>subexpression)

 グループ定義を均等化します。詳しくは.NET Framework の正規表現をご覧ください。

(?:subexpression)

 部分式 subexpression をキャプチャせずにグループ化します。

 (?:ab)(cd)e\1 の検索文字列は、abcdecd にマッチします。

 abcdefg という文字列に対し、

検索文字列:
a(?:bc)(de)f
置換文字列:
f$1a

を適用すると、 fdeag に置換されます。

(?imnsx-imnsx:subexpression)

 部分式 subexpression のオプションを変更します。キャプチャはされません。

 オプションの変更は、有効化 - 無効化 で記述します。

  • i

     有効化すると、その部分式内では、大文字と小文字を区別しません。

  • m

     有効化すると、その部分式内では、行モードを強制します。

  • n

     有効化すると、その部分式内では、(?<name>…) の形式で明示的に名前付けまたは番号付けしたグループだけを有効なキャプチャにします。

  • s

     有効化すると、その部分式内では、改行(\n)を任意の文字扱いします。

  • x

     有効化すると、その部分式内では、エスケープされない空白をパターンから除外し、シャープ記号(#)の後ろのコメントを有効にするように指定します。

 「大文字/小文字の区別」オプションをオンにしても、(?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-.