正则表达式标志 gmisuy

gmisuy

g	全局搜索。
i	不区分大小写搜索。
m	多行搜索。
s	允许 . 匹配换行符。
u	使用unicode码的模式进行匹配。
y	执行“粘性(sticky)”搜索,匹配从目标字符串的当前位置开始。

g-global m-multiline

g: 表示全局模式(global), 匹配到一个答案后跳过最后一个索引继续匹配. 使用量词时通常会遇到贪婪问题, 量词加问号即可免贪婪.

字符串: "abcabc".match(regex)
正则: /a.*c/g => [ 'abcabc' ]
正则: /a.*?c/g => [ 'abc', 'abc' ]

m: 表示多行模式(multiline), 可以进行多行匹配, ^和$代表每一行的起始和结束, 而不是整个输入的起始和结束.

y-sticky

只用一个超简单的例子就能演示出"粘滞"到底表现为什么:

/o/.test("foo") // true
/o/y.test("foo") // false, 相当于/^o/
posted @ 2020-09-20 06:09  develon  阅读(225)  评论(0编辑  收藏  举报