• 正则表达式选项


    可以使用影响匹配行为的选项修改正则表达式模式。可以通过下列两种基本方法之一设置正则表达式选项:可以在 Regex (pattern, options) 构造函数中的 options 参数中指定,其中 options 是 RegexOptions 枚举值的按位“或”组合;也可以使用内联 (?imnsx-imnsx:) 分组构造或 (?imnsx-imnsx) 其他构造在正则表达式模式内设置它们。

    在内联选项构造中,一个选项或一组选项前面的减号 (-) 用于关闭这些选项。例如,内联构造 (?ix-ms) 将打开 IgnoreCase 和 IgnorePatternWhiteSpace 选项而关闭 Multiline 和 Singleline 选项。默认情况下,关闭所有正则表达式选项。

    下表列出了 RegexOptions 枚举的成员以及等效的内联选项字符。请注意,选项 RightToLeft 和 Compiled 只适用于表达式整体而不允许内联。(它们只能在 Regex 构造函数的 options 参数中指定。)选项 None 和 ECMAScript 不允许内联。

    RegexOption 成员 内联字符 说明

    None

    N/A

    指定不设置任何选项。

    IgnoreCase

    i

    指定不区分大小写的匹配。

    Multiline

    m

    指定多行模式。更改 ^ 和 $ 的含义,以使它们分别与任何行的开头和结尾匹配,而不只是与整个字符串的开头和结尾匹配。

    ExplicitCapture

    n

    指定唯一有效的捕获是显式命名或编号的 (?<name>…) 形式的组。这允许圆括号充当非捕获组,从而避免了由 (?:…) 导致的语法上的笨拙。

    Compiled

    N/A

    指定正则表达式将被编译为程序集。生成该正则表达式的 Microsoft 中间语言 (MSIL) 代码;以较长的启动时间为代价,得到更快的执行速度。

    Singleline

    s

    指定单行模式。更改句点字符 (.) 的含义,以使它与每个字符(而不是除 \n 之外的所有字符)匹配。

    IgnorePatternWhitespace

    x

    指定从模式中排除非转义空白并启用数字符号 (#) 后面的注释。(有关转义空白字符的列表,请参见字符转义。)请注意,空白永远不会从字符类中消除。

    RightToLeft

    N/A

    指定搜索是从右向左而不是从左向右进行的。具有此选项的正则表达式将移动到起始位置的左边而不是右边。(因此,起始位置应指定为字符串的结尾而不是开头。)为了避免构造具有无限循环的正则表达式的可能性,此选项不能在中流指定。但是,(?<) 回顾后发构造提供了可用作子表达式的类似替代物。

    RightToLeft 只更改搜索方向。它不会反转所搜索的子字符串。预测先行回顾后发断言不改变:预测先行向右搜索;回顾后发向左搜索。

    ECMAScript

    N/A

    指定已为表达式启用了符合 ECMAScript 的行为。此选项仅可与 IgnoreCase 和 Multiline 标志一起使用。将 ECMAScript 同任何其他标志一起使用将导致异常。

    CultureInvariant

    N/A

    指定忽略语言中的区域性差异。有关更多信息,请参见

     
    下面是一个使用正则表达式读取数据库脚本的例子,其中使用 /is 匹配多行,。
    Code
  • 相关阅读:
    Zabbix-Agent在主动模式启动服务后,提示no active checks on server [139.219.xx.xx:10051]: host [139.219.xx.xx] not found
    Linux中Sed的用法
    服务器监控软件有哪些?
    Linux和Windows中查看端口占用情况
    Window10中创建目录连接点
    C#中使用RabbitMQ收发队列消息
    ExtJs4.2中Tab选项卡的右击关闭其它和关闭当前功能不准确的解决方法
    Redis中取得所有Key、过期时间配置与获取、Key过期通知。
    使用Phantomjs和ChromeDriver添加Cookies的方法
    FasterRcnn训练数据集参数配置
  • 原文地址:https://www.cnblogs.com/nasdaqhe/p/1267224.html
Copyright © 2020-2023  润新知