C# の正規表現グループ
次のコード ブロックでは、指定された正規表現によって角かっこ内の内容が抽出されます。
var pattern = @"\[(.*?)\]"; var matches = Regex.Matches(user, pattern);
入力 user == "Josh Smith [jsmith]":
matches.Count == 1 matches[0].Value == "[jsmith]"
ただし、matches[0].Groups.Count == 2、with:
matches[0].Groups[0].Value == "[jsmith]" matches[0].Groups[1].Value == "jsmith"
グループ コレクションについて
この場合:
したがって、match.Groups[1]。値は、括弧内の内容「jsmith」を取得します。
一致するグループの数
一致するグループの数は、次のルールによって制御されます。
提供された例では、パターンに 1 つのキャプチャ グループが含まれているため、match.Groups.Count は常に 2 になります。複数のキャプチャ グループを含むより複雑な正規表現では、より多くのグループが生成されます。
追加の例
次のパターンを考慮して一致させます:
var pattern = @"\[(.*?)\](.*)"; var match = Regex.Match("ignored [john] John Johnson", pattern);
より複雑なパターン:
var pattern = @"(\[.*?\])+"; var match = Regex.Match("[john][johnny]", pattern);
C# で正規表現グループの力を活用するには、これらの概念を理解することが重要です。
以上がC# では正規表現グループはどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。