正则前面的 (?i) (?s) (?m) (?is) (?im)

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

相关文章

一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字...
正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。下面整理一些常用的正则...
0. 注: 不同语言中的正则表达式实现都会有一些不同。下文中的代码示例除特别说明的外,都是使用JS中的...
 正则表达式是从信息中搜索特定的模式的一把瑞士军刀。它们是一个巨大的工具库,其中的一些功能经常...
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数...
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n...