• RegexOptions枚举


     在创建Regex类的实例时,构造函数的重载中有一个要求传入RegexOptions的一个枚举值,我相信这个枚举一定非常有用,否则不会要求在构造函数中传入。今天就来看一看这个枚举的作用。

      我们干脆把代码敲出来看一看:

    复制代码
        // 摘要:
        //     提供用于设置正则表达式选项的枚举值。
        [Flags]
        public enum RegexOptions
        {
            // 摘要:
            //     指定不设置选项。
            None = 0,
            //
            // 摘要:
            //     指定不区分大小写的匹配。
            IgnoreCase = 1,
            //
            // 摘要:
            //     多行模式。更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。
            Multiline = 2,
            //
            // 摘要:
            //     指定有效的捕获仅为形式为 (?<name>...) 的显式命名或编号的组。这使未命名的圆括号可以充当非捕获组,并且不会使表达式的语法 (?:...)
            //     显得笨拙。
            ExplicitCapture = 4,
            //
            // 摘要:
            //     指定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。在调用 System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo[],System.Reflection.AssemblyName)
            //     方法时,不应将此值分配给 System.Text.RegularExpressions.RegexCompilationInfo.Options
            //     属性。
            Compiled = 8,
            //
            // 摘要:
            //     指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 
     之外的每个字符匹配)。
            Singleline = 16,
            //
            // 摘要:
            //     消除模式中的非转义空白并启用由 # 标记的注释。但是,System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace
            //     值不会影响或消除字符类中的空白。
            IgnorePatternWhitespace = 32,
            //
            // 摘要:
            //     指定搜索从右向左而不是从左向右进行。
            RightToLeft = 64,
            //
            // 摘要:
            //     为表达式启用符合 ECMAScript 的行为。该值只能与 System.Text.RegularExpressions.RegexOptions.IgnoreCase、System.Text.RegularExpressions.RegexOptions.Multiline
            //     和 System.Text.RegularExpressions.RegexOptions.Compiled 值一起使用。该值与其他任何值一起使用均将导致异常。
            ECMAScript = 256,
            //
            // 摘要:
            //     指定忽略语言中的区域性差异。有关更多信息,请参见 Performing Culture-Insensitive Operations in the
            //     RegularExpressions Namespace。
            CultureInvariant = 512,
        }
    复制代码

      由代码可以看出这是一个标志枚举。

      其实把代码复制出来之后,感觉也不是那么难懂,都是一些基本的指示。

    复制代码
    None = 0,         //指定不设置选项。
    IgnoreCase = 1,     //指定不区分大小写的匹配。
    Multiline = 2,          //多行模式。更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。
    ExplicitCapture = 4,    //指定有效的捕获仅为形式为 (?<name>...) 的显式命名或编号的组。这使未命名的圆括号可以充当非捕获组,并且不会使表达式的语法 (?:...)显得笨拙。
    Compiled = 8,       //指定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。在调用 System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo[],System.Reflection.AssemblyName)方法时,不应将此值分配给属性。
    Singleline = 16,    //指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 
     之外的每个字符匹配)。
    IgnorePatternWhitespace = 32 //消除模式中的非转义空白并启用由 # 标记的注释。但是,System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace值不会影            响或消除字符类中的空白。
    RightToLeft = 64  //指定搜索从右向左而不是从左向右进行。
    
    ECMAScript = 256,   //为表达式启用符合 ECMAScript 的行为。该值只能与 System.Text.RegularExpressions.RegexOptions.IgnoreCase、System.Text.RegularExpressions.RegexOptions.Multiline 和 System.Text.RegularExpressions.RegexOptions.Compiled 值一起使用。该值与其他任何值一起使用均将导致异常。
    
    CultureInvariant = 512    //指定忽略语言中的区域性差异。
    复制代码
  • 相关阅读:
    第二章 创建rails应用程序
    System Call on Linux 2.6 for i386(1) INTRODUCTION
    splayer_directshow环境搭建
    90后要统治世界了
    在家写点东西
    转:SQL Server2005 中的数据类型总结
    原创:远程服务器返回错误: (500) 内部服务器错误
    转:关闭窗口Close()
    转:VS.net 2003 打开Web项目失败的解决方法
    js接收网页参数
  • 原文地址:https://www.cnblogs.com/mingxuantongxue/p/3687549.html
Copyright © 2020-2023  润新知