Regex 构造函数 (String, RegexOptions)
本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Regex 构造函数 (String, RegexOptions)

 

用修改模式的选项为指定的正则表达式初始化并编译 Regex 类的一个新实例。

命名空间:   System.Text.RegularExpressions
程序集:  System(System.dll 中)

public Regex(
	string pattern,
	RegexOptions options
)

参数

pattern

要匹配的正则表达式模式。

options

修改正则表达式的枚举值的按位组合。

Exception Condition
ArgumentException

出现正则表达式分析错误。

ArgumentNullException

patternnull

ArgumentOutOfRangeException

options 包含无效标志。

pattern参数包含的符号描述要匹配的字符串的正则表达式语言元素。有关正则表达式的详细信息,请参阅Регулярные выражения в .NET Framework正则表达式语言 - 快速参考主题。

一个Regex对象是不可变的这意味着它可以仅用于在创建它时定义的匹配参数。但是,可以在没有要重新编译查询的情况下使用任意数量的时间。

对调用方的说明:

此构造函数创建Regex使用在其中创建应用程序域的默认超时值的对象。如果没有为应用程序域中,定义超时值Regex对象使用的值InfiniteMatchTimeout,这会阻止该操作超时。用于创建建议的构造函数Regex对象是Regex.Regex(String, RegexOptions, TimeSpan),该对话框允许您设置的超时间隔。

下面的示例说明了如何使用此构造函数来实例化正则表达式匹配任何字母开头的单词"a"或"t"。

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b[at]\w+";
      RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Compiled;
      string text = "The threaded application ate up the thread pool as it executed.";
      MatchCollection matches;

      Regex optionRegex = new Regex(pattern, options);
      Console.WriteLine("Parsing '{0}' with options {1}:", text, options.ToString());
      // Get matches of pattern in text
      matches = optionRegex.Matches(text);
      // Iterate matches
      for (int ctr = 0; ctr < matches.Count; ctr++)
         Console.WriteLine("{0}. {1}", ctr, matches[ctr].Value);
   }
}
// The example displays the following output:
//    Parsing 'The threaded application ate up the thread pool as it executed.'
//        with options IgnoreCase, Compiled:
//    0. The
//    1. threaded
//    2. application
//    3. ate
//    4. the
//    5. thread
//    6. as

请注意匹配集合包含的单词"The",因为文本开头options参数定义不区分大小写的比较。

Universal Windows Platform
4.5 后可用
.NET Framework
1.1 后可用
Portable Class Library
受以下版本支持:portable .NET platforms
Silverlight
2.0 后可用
Windows Phone Silverlight
7.0 后可用
Windows Phone
8.1 后可用
返回页首
显示:
© 2016 Microsoft