当我尝试使用正则表达式来分割字符串时,.Matches
返回的MatchCollection只包含它自己的字符串而不包含该字符串。
所以这是我的正则表达式:string pattern = @"^(\w[.])\s*(\w+)$";
和示例字符串:W.Test
我希望MatchCollection有2个元素W.
和Test
,但看起来它不起作用。
答案 0 :(得分:6)
您需要从捕获组返回匹配的上下文。 Groups属性获取正则表达式中捕获的组。
string pattern = @"^(\w[.])\s*(\w+)$";
string input = "W.Test";
Match match = Regex.Match(input, pattern);
if (match.Success) {
Console.WriteLine(match.Groups[1].Value); //=> 'W.'
Console.WriteLine(match.Groups[2].Value); //=> 'Test'
}
答案 1 :(得分:2)
试试这个
Match match = Regex.Match(input, @" ^(?<firstGroup>\w[.])\s*(?<SecondGroup>\w+)$", RegexOptions.IgnoreCase);
var firstGroup = match.Groups["firstGroup"].Value