zoukankan      html  css  js  c++  java
  • 正则前面的 (?i) (?s) (?m) (?is) (?im) 是什么意思

    Q:经常看见的正则前面的 (?i) (?s) (?m) (?is) (?im) 是什么意思?
    A: 称为内联匹配模式,通常用内联匹配模式代替使用枚举值RegexOptions指定的全局匹配模式,写起来更简洁。
      (?i) 表示所在位置右侧的表达式开启忽略大小写模式
      (?s) 表示所在位置右侧的表达式开启单行模式。
      更改句点字符 (.) 的含义,以使它与每个字符(而不是除   之外的所有字符)匹配。
      注意:(?s)通常在匹配有换行的文本时使用
      (?m) 表示所在位置右侧的表示式开启指定多行模式。
      更改 ^ 和 $ 的含义,以使它们分别与任何行的开头和结尾匹配,
      而不只是与整个字符串的开头和结尾匹配。
      注意:(?m)只有在正则表达式中涉及到多行的“^”和“$”的匹配时,才使用Multiline模式。
      上面的匹配模式可以组合使用,比如(?is),(?im)。

      另外,还可以用(?i:exp)或者(?i)exp(?-i)来指定匹配的有效范围。

    附:

    .表示除 之外的任意字符
    *表示匹配0-无穷
    +表示匹配1-无穷
    多行模式参考实例:点击打开链接
  • 相关阅读:
    Java08_Lambda表达式
    Java基础02
    Java基础07
    JAVA基础06
    Java基础05
    Java基础01
    面向对象与面向过程
    Java常识2
    CSS常用属性记录
    geoserver发布热力图服务
  • 原文地址:https://www.cnblogs.com/shengs/p/14065600.html
Copyright © 2011-2022 走看看