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

一个正则表达式匹配结果可以分成多个部分,这就是组(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

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

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

posted on 2006-08-31 11:57 waitu 阅读(471) 评论(3)  编辑 收藏 网摘 所属分类: A 技术学习

评论

#1楼 2006-11-15 14:24 superstar      

不分大小写的呀,小m为秒   回复  引用  查看    

#2楼[楼主] 2006-11-21 09:17 WaitU(LBK,敢于直面惨淡的人生。。。)      

@superstar
m在例子中是一个组的名字啊,
你什么意思?
  回复  引用  查看    

#3楼 2006-11-21 11:50 juan[未注册用户]

晕!看不懂啊!!   回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 491192




相关文章:

相关链接:

导航

公告


you have to be an expert of something, then you can find the way to succeed!

统计

与我联系

搜索

 

留言簿

随笔分类(280)

友情链接

资源

积分与排名

最新评论