网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
解读C#正则表达式
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
?$1在字符串替换方面的使用,它表明替换字符串只能包含被替换的字符串。

匹配引擎的细节

  现在,我们通过一个组结构来理解一个稍微复杂的例子。看下面的例子:
  
string text = "abracadabra1abracadabra2abracadabra3";
  
    string pat = @"
  
      ( # 第一个组的开始
  
       abra # 匹配字符串abra
  
       ( # 第二个组的开始
  
       cad # 匹配字符串cad
  
       )? # 第二个组结束(可选)
  
      ) # 第一个组结束
  
      + # 匹配一次或多次
  
      ";
  
    //利用x修饰符忽略注释
  
    Regex r = new Regex(pat, "x");
  
    //获得组号码的清单
  
    int gnums = r.GetGroupNumbers();
  
    //首次匹配
  
    Match m = r.Match(text);
  
    while (m.Success)
     {
            //从组1开始
            for (int i = 1; i < gnums.Length; i++)
      {
          Group g = m.Group(gnums[i]);
                //获得这次匹配的组
          Console.WriteLine("Group"+gnums[i]+"=["+g.ToString()+"]");
                //计算这个组的起始位置和长度
          CaptureCollection cc = g.Captures;
          for (int j = 0; j < cc.Count; j++)
           {
               Capture c = cc[j];
               Console.WriteLine(" Capture" + j + "=["+c.ToString()  + "] Index=" +                                 c.Index + " Length=" + c.Length);
           }
  
      }
            //下一个匹配
            m = m.NextMatch();
     } //EndWhile
  
 这个例子的输出如下所示:
     
    Group1=[abra]
  
        Capture0=[abracad] Index=0 Length=7
  
        Capture1=[abra] Index=7 Length=4
  
    Group2=[cad]
  
        Capture0=[cad] Index=4 Length=3
  
    Group1=[abra]
  
        Capture0=[abracad] Index=12 Length=7
  
        Capture1=[abra] Index=19 Length=4
  
    Group2=[cad]
  
        Capture0=[cad] Index=16 Length=3
  
&nb

  • 上一篇资讯: C#正确实现IDisposable接口
  • 下一篇资讯: C# Regex 深入正则表达式
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号