zoukankan      html  css  js  c++  java
  • C# 正则表达式类 Match类和Group类

    @"(S+)://(S+)"; //匹配URL的模式
    foreach (Match match in mc)
    {
      Console.WriteLine(match.Value);
    }
    Console.ReadLine();

    结果:

     @"(?<protocol>S+)://(?<address>S+)"; //匹配URL的模式,并分组
    MatchCollection mc = Regex.Matches(text, pattern); //满足pattern的匹配集合

    Console.WriteLine("文本中包含的URL地址有:");
    foreach (Match match in mc)
    {
      gc["protocol"].Value + ";Address:" + gc["address"].Value;
      Console.WriteLine(outputText);
    }

    Console.Read();

    示例2:使用带两个参数的构造函数,第二个参数指示忽略大小写,很常用

    var source = "123abc345DEf";
    Regex regex = new Regex("def",RegexOptions.IgnoreCase);
    if (regex.IsMatch(source))
    {
      Console.WriteLine("字符串中包含有敏感词:def!");
    }
    Console.ReadLine();

    使用Regex类进行替换

    示例1:简单情况

    var source = "123abc456ABC789";
    // 静态方法
    //var newSource=var newSource = Console.WriteLine("替换后的字符串:" + newSource);
    Console.ReadLine();

    结果:

    原字符串:123abc456ABC789

    替换后的字符串:123|456|789

    示例2:将匹配到的选项替换为html代码,我们使用了MatchEvaluator委托

    var source = "123abc456ABCD789";
    Regex regex = new Regex("[A-Z]{3}", RegexOptions.IgnoreCase);
    var newSource = Console.WriteLine("替换后的字符串:" + newSource);
    Console.ReadLine();

    private static string OutPutMatch(Match match)
    {
      return "<b>" +match.Value+ "</b>";
    }

    输出:

    原字符串:123abc456ABCD789

    替换后的字符串:123<b>abc</b>456<b>ABC</b>D789

  • 相关阅读:
    二分插入排序
    LEETCODE 返回两个正序数组的 中位数
    4的幂 算法
    leetcode 两个单链表两数相加
    KMP(The Knuth-Morris-Pratt Algorithm)
    Java Case Interview one
    AWK SED命令 简单入门
    Problem Fix List(always update)
    mysql存储过程快速上手
    java while和switch-case循环
  • 原文地址:https://www.cnblogs.com/profession/p/5174453.html
Copyright © 2011-2022 走看看