zoukankan      html  css  js  c++  java
  • 正则表达式类

    Regex 类表示只读正则表达式

      Regex 类包含各种静态方法,允许在不显式实例化其他类的对象的情况下使用其他正则表达式类。以下代码示例创建了 Regex 类的实例并在初始化对象时定义一个简单的正则表达式。请注意,使用了附加的反斜杠作为转义字符,它将 s 匹配字符类中的反斜杠指定为原义字符。

    Regex r; // 声明一个 Regex类的变量
    r = new Regex("\s2000"); // 定义表达式

    Match 类表示正则表达式匹配操作的结果

      以下示例使用 Regex 类的 Match 方法返回 Match 类型的对象,以便找到输入字符串中第一个匹配。此示例使用 Match 类的 Match.Success 属性来指示是否已找到匹配。

    Regex r = new Regex("abc"); // 定义一个Regex对象实例
    Match m = r.Match("123abc456"); // 在字符串中匹配
    if (m.Success) 
    {
     Console.WriteLine("Found match at position " + m.Index); //输入匹配字符的位置
    }

    MatchCollection 类表示非重叠匹配的序列

      该集合为只读的,并且没有公共构造函数。MatchCollection 的实例是由 Regex.Matches 属性返回的。使用 Regex 类的 Matches 方法,通过在输入字符串中找到的所有匹配填充 MatchCollection。下面代码示例演示了如何将集合复制到一个字符串数组(保留每一匹配)和一个整数数组(指示每一匹配的位置)中。

    MatchCollection mc;
    String[] results = new String[20];
    int[] matchposition = new int[20];
    Regex r = new Regex("abc"); //定义一个Regex对象实例
    mc = r.Matches("123abc4abcd"); 
    for (int i = 0; i < mc.Count; i++) //在输入字符串中找到所有匹配
    {
     results[i] = mc[i].Value; //将匹配的字符串添在字符串数组中
     matchposition[i] = mc[i].Index; //记录匹配字符的位置
    }

    GroupCollection 类表示捕获的组的集合

      该集合为只读的,并且没有公共构造函数。GroupCollection 的实例在 Match.Groups 属性返回的集合中返回。下面的控制台应用程序查找并输出由正则表达式捕获的组的数目。

    using System;
    using System.Text.RegularExpressions;
    public class RegexTest 
    {
     public static void RunTest() 
     {
      Regex r = new Regex("(a(b))c"); //定义组
      Match m = r.Match("abdabc");
      Console.WriteLine("Number of groups found = " + m.Groups.Count);
     }
     public static void Main() 
     {
      RunTest();
     }
    }

    该示例产生下面的输出:Number of groups found = 3

  • 相关阅读:
    Lintcode: Wood Cut
    Lintcode: Update Bits
    Lintcode: Route Between Two Nodes in Graph
    Lintcode: Flip Bits
    Leetcode: Maximum Size Subarray Sum Equals k
    Lintcode: Subarray Sum Closest
    Lintcode: Remove Node in Binary Search Tree
    Lintcode: Majority Number III
    Leetcode: Range Sum Query
    Leetcode: Create Maximum Number
  • 原文地址:https://www.cnblogs.com/cndsn/p/3459560.html
Copyright © 2011-2022 走看看