C# 中的正则表达式组
在以下代码块中,提供的正则表达式提取方括号内的内容:
var pattern = @"\[(.*?)\]"; var matches = Regex.Matches(user, pattern);
输入用户 == "Josh Smith [jsmith]":
matches.Count == 1 matches[0].Value == "[jsmith]"
但是,匹配[0].Groups.Count == 2,其中:
matches[0].Groups[0].Value == "[jsmith]" matches[0].Groups[1].Value == "jsmith"
了解组集合
在本例中:
因此,match.Groups[1]。值检索括号内的内容,“jsmith”。
比赛中的组数
以下规则控制比赛中的组数:
在提供的示例中,由于模式包含一个捕获组,因此 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中文网其他相关文章!