乐智

正则表达式 - 修饰符(标记)

2021-10-30|来源:|发布者:

正则表达式修饰符

标记也称为修饰符,正则表达式的标记用于指定额外的匹配策略。

标记不写在正则表达式里,标记位于表达式之外,格式如下:

/pattern/flags

下表列出了正则表达式常用的修饰符:

修饰符含义描述
iignore - 不区分大小写将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。
gglobal - 全局匹配 查找所有的匹配项。
mmulti line - 多行匹配使边界字符 ^$ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。
sdotAll - 特殊字符圆点 . 中包含换行符 \n默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。
uunicode - 根据unicode字符集解析字符表示按unicode匹配(主要针对多字节比如汉字),使用 "u" 标志,任何 Unicode 代码点的转义都会被解释。一起s和u这两个修饰符,"."将无一例外地匹配任意Unicode字符。

g 修饰符

g 修饰符可以查找字符串中所有的匹配项,实例如下:

在字符串中查找 "leletool":

var str="Google leletool taobao leletool";
var n1=str.match(/leletool/); // 查找第一个leletool字符串
var n2=str.match(/leletool/g); // 查找所有匹配项

i 修饰符

i 修饰符为不区分大小写匹配,实例如下:

在字符串中查找 "leletool":

var str="Google leletool taobao Leletool";
var n1=str.match(/leletool/g); // 区分大小写 匹配小写的leletool字符串
var n2=str.match(/leletool/gi); // 不区分大小写 匹配leletool Leletool

m 修饰符

m 修饰符可以使 ^$ 匹配一段文本中每行的开始和结束位置。

g 只匹配第一行,添加 m 之后实现多行。

以下实例字符串中使用 \n 来换行:

在字符串中查找 "leletool":

var str="leletoolgoogle\ntaobao\nleletoolweibo";
var n1=str.match(/^leletool/g); // 匹配第一个leletool字符串
var n2=str.match(/^leletool/gm); // 多行匹配 匹配两个leletool

s 修饰符

默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 之后, . 中包含换行符 \n

s 修饰符实例如下:

在字符串中查找:

var str="leletool\ngoogle\ntaobao";
var n1=str.match(/leletool./); // 无法匹配
var n2=str.match(/leletool./s); // 匹配leletool和其后面的\n
用手机扫一扫访问本站
乐乐工具文章数据均来自于互联网,版权归原作者所有。如有侵犯您权利的资源,请联系我们处理。
Copyright © 2016-2024 乐乐工具 版权所有