一个正则表达式匹配结果可以分成多个部分这就是组(Group) 把一次Match结果用(?<name>)的方式分成组例子: public static void Main() { string s = ; Regex reg = new Regex(@(?<y>\d{})(?<m>\d{})(?<d>\d{})RegexOptionsCompiled); Match match = regMatch(s); int year = intParse(matchGroups[y]Value); int month = intParse(matchGroups[m]Value); int day = int Parse(matchGroups[d]Value); DateTime time = new DateTime(yearmonthday); ConsoleWriteLine(time); ConsoleReadLine(); } 也可以根据正则里面()的顺序使用编码访问组第一个括号对包涵的组被自动编号为后面的括号依次编号为…… 访问方式:matchGroups[]Value 另外也可以用(?<数字>)的方式手工给每个括号对的组编号 苦闷的是如果过一段时间不使用正则的话里面的符号很容易就忘记了:) |