一个正则表达式匹配结果可以拆分多个部分,这就是组(Group)。
一次把比赛结果用(?<name>)的方式拆散,例子:
公共静态无效Main()
{
字符串 s = "2005-2-21";
正则表达式 reg = new Regex(@"(?<y>d{4})-(?<m>d{1,2})-(?<d>d{1,2})",RegexOptions .编译);
匹配 match = reg.Match(s);
int 年 = int.Parse(match.Groups["y"].Value);
int 月份 = int.Parse(match.Groups["m"].Value);
int day = int .Parse(match.Groups["d"].Value);
DateTime 时间 = new DateTime(年,月,日);
Console.WriteLine(时间);
Console.ReadLine();
}
也可以根据正则()里面的顺序,使用编码访问组。第一个时间戳对包涵的组被自动编号为1,后面的顺序依次编号为2、3……
访问方式:match.Groups[1].Value
另外也可以用(?<数字>)的方式手工给每个音符对的组编号
苦闷而且如果过一段时间不使用正则的话,里面的符号很容易就忘记了,:-)