• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • C# 中使用正则表达式 Regex.Matches方法的几个应用

    网络   2013/7/4 22:02:01

    用于正则表达式的 Regex.Matches静态方法的几种用法:


    //①正则表达式 = > 匹配字符串
    string Text = @"This is a book , this is my book , Is not IIS";
    //定义一个模式字符串,不仅仅是纯文本,还可以是正则表达式
    string Pattern = "is";
    MatchCollection Matches = Regex.Matches(
        Text,
        Pattern,
        RegexOptions.IgnoreCase |         //忽略大小写
        RegexOptions.ExplicitCapture |    //提高检索效率
        RegexOptions.RightToLeft          //从左向右匹配字符串
        );
    Console.WriteLine("从右向左匹配字符串:");
    foreach (Match NextMatch in Matches)
    {              
        Console.Write("匹配的位置:{0,2} ", NextMatch.Index);
        Console.Write("匹配的内容:{0,2} ", NextMatch.Value);
        Console.Write("/n");  
    }
    Console.WriteLine();
    //②匹配以大写I开头
    //“/b”是转义序列,代表开头和结尾(一个字的边界,忽略空白或标点)
    Pattern = @"/bI";
    Matches = Regex.Matches(
        Text,
        Pattern,
        RegexOptions.ExplicitCapture    //提高检索效率
        );
    Console.WriteLine("从左向右匹配字符串:");
    foreach (Match NextMatch in Matches)
    {
        Console.Write("匹配的位置:{0} ", NextMatch.Index);
        Console.Write("匹配的内容:{0} ", NextMatch.Value);
        Console.Write("/n");
    }
    Console.WriteLine();
    //③匹配以大写I开头,大写S结尾的字符串
    //“/b”是转义序列,代表开头和结尾(一个字的边界,忽略空白或标点)
    ///S*匹配任何不是空白的字符
    Pattern = @"/bI/S*S/b";
    Matches = Regex.Matches(
        Text,
        Pattern,
        RegexOptions.ExplicitCapture    //提高检索效率
        );
    Console.WriteLine("从左向右匹配字符串:");
    foreach (Match NextMatch in Matches)
    {
        Console.Write("匹配的位置:{0} ", NextMatch.Index);
        Console.Write("匹配的内容:{0} ", NextMatch.Value);
        Console.Write("/n");
    }
    Console.WriteLine();
    //④匹配his 或者iis,其中忽略大小写
    Pattern = @"[h|i]is";
    Matches = Regex.Matches(
        Text,
        Pattern,
        RegexOptions.IgnoreCase |         //忽略大小写
        RegexOptions.ExplicitCapture    //提高检索效率
        );
    Console.WriteLine("从左向右匹配字符串:");
    foreach (Match NextMatch in Matches)
    {
        Console.Write("匹配的位置:{0} ", NextMatch.Index);
        Console.Write("匹配的内容:{0} ", NextMatch.Value);
        Console.Write("/n");           
    }
    Console.WriteLine();
    //⑤对Url的分组匹配
    Text = "http://192.168.0.1:2008";
    Pattern = @"/b(/S+)://(/S+)(?::(/S+))/b";
    Matches = Regex.Matches(Text, Pattern);
    Console.WriteLine("从左向右匹配字符串:");
    foreach (Match NextMatch in Matches)
    {
        Console.Write("匹配的位置:{0} ", NextMatch.Index);
        Console.Write("匹配的内容:{0} ", NextMatch.Value);
        Console.Write("/n");
        for (int i = 0; i < NextMatch.Groups.Count; i++)
        {
            Console.Write("匹配的组 {0}:{1,4} ", i + 1, NextMatch.Groups[i].Value);
            Console.Write("/n");
        }
    }
    Console.Read();


    输出结果为:

    ①从右向左匹配字符串:
    匹配的位置:43 匹配的内容:IS
    匹配的位置:35 匹配的内容:Is
    匹配的位置:22 匹配的内容:is
    匹配的位置:19 匹配的内容:is
    匹配的位置: 5 匹配的内容:is
    匹配的位置: 2 匹配的内容:is
    ②从左向右匹配字符串:
    匹配的位置:35 匹配的内容:I
    匹配的位置:42 匹配的内容:I
    ③从左向右匹配字符串:
    匹配的位置:42 匹配的内容:IIS
    ④从左向右匹配字符串:
    匹配的位置:1 匹配的内容:his
    匹配的位置:18 匹配的内容:his
    匹配的位置:42 匹配的内容:IIS
    ⑤从左向右匹配字符串:
    匹配的位置:0 匹配的内容:http://192.168.0.1:2008
    匹配的组 1:http://192.168.0.1:2008
    匹配的组 2:http
    匹配的组 3:192.168.0.1
    匹配的组 4:2008


    阅读(2334) 分享(0)

    上一篇: 主要搜索引擎网站登录入口
    下一篇: win2003服务器安全设置教程

  • 精彩推荐

    ◆ 安装完office后 在组件服务里DCOM配置中找不到
    ◆ 微信清缓存工具,微信怎么清理缓存?
    ◆ 用回溯法解决子集和问题【C#版本】
    ◆ 实测什么物体会影响WIFI信号
    ◆ 利用UC微信分享接口进行WEB微信分享
    ◆ ASP.NET之GridView Eval() 中数据格式化或格式化数据
    ◆ css常用hack语法
    ◆ 面向对象的缺点,你了解了吗
    ◆ 我国首台可人脸识别ATM机发布 不刷脸不能取钱
    ◆ 2G网络要关闭了吗?你还不打算换4G手机?
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。