← 指南列表 GUIDE
结合示例理解改变正则表达式行为的 6 种标志。

标志附在正则表达式后面,是改变整体行为的开关。JavaScript 中有六个。g(global)不会在第一个匹配处停止,而是查找所有匹配。没有这个标志,只会抓取第一个。

i(ignoreCase)使其不区分大小写。m(multiline)使 ^ 和 $ 匹配每一行的开头和结尾,而不是整个字符串。处理多行文本时必不可少。

s(dotAll)使点(.)也包含换行符。u(unicode)能正确解析 Unicode 码点和 \p{...} 属性转义。y(sticky)只允许恰好从 lastIndex 位置开始的匹配。

试着打开和关闭本测试器的标志芯片,比较同一个模式会有怎样的变化。特别是用眼睛确认根据有没有 g 结果数量如何改变,能很快找到感觉。