正则学习:组的定义及引用方式

王朝other·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

一个正则表达式匹配结果可以分成多个部分,这就是组(Group).

把一次Match结果用(?<name>)的方式分成组,例子:

public static void Main()

{

string s = "2005-2-21";

Regex reg = new Regex(@"(?<y>\d{4})-(?<m>\d{1,2})-(?<d>\d{1,2})",RegexOptions.Compiled);

Match match = reg.Match(s);

int year = int.Parse(match.Groups["y"].Value);

int month = int.Parse(match.Groups["m"].Value);

int day = int .Parse(match.Groups["d"].Value);

DateTime time = new DateTime(year,month,day);

Console.WriteLine(time);

Console.ReadLine();

}

也可以根据正则里面()的顺序,使用编码访问组.第一个括号对包涵的组被自动编号为1,后面的括号依次编号为2、3……

访问方式:match.Groups[1].Value

另外也可以用(?<数字>)的方式手工给每个括号对的组编号

苦闷的是如果过一段时间不使用正则的话,里面的符号很容易就忘记了,:-)

http://www.cnblogs.com/waitu/archive/2006/08/31/491192.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航