正则 Flags 详解 - i/g/m/s/u/y/d 分别是什么意思

589 字
3 分钟
正则 Flags 详解 - i/g/m/s/u/y/d 分别是什么意思

🌟 Flags 是正则的”开关”#

同一段正则,加上不同的 Flags,行为会完全不同。最常见的”忘了加 g,只匹配到第一处”就是 Flags 问题。星点正则测试器提供可点选的 Flags。


🚩 逐个解释#

Flag名称作用
gglobal全局匹配,找所有结果
iignoreCase忽略大小写
mmultiline^ $ 匹配每行首尾
sdotAll. 也能匹配换行
uunicode按 Unicode 处理(码点)
ysticky从 lastIndex 严格匹配
dindices结果带匹配位置索引

🔍 逐个场景#

g 全局#

不加 g,match 只返回第一个匹配。要”找出全部”,必须加 g。

i 忽略大小写#

hello 加 i 后能匹配 Hello、HELLO。

m 多行#

不加 m,^ 只匹配整段开头。开启后,^ $ 对每一行生效。

s DotAll#

默认 . 不匹配换行;开启 s 后 . 可跨行。等价写法:[\s\S]。

u Unicode#

处理 emoji、生僻字、代理对时更准确。例如 . 在 u 模式下按码点匹配,而不是按 UTF-16 单元。

y 粘性#

从 lastIndex 开始严格匹配(不跳过中间字符),适合逐段解析。

d 索引#

匹配结果附带 indices,可直接拿到每个捕获组的起止位置。


🌐 各语言 Flags 写法#

语言忽略大小写多行DotAll
JavaScriptims
Pythonre.Ire.Mre.S
JavaPattern.CASE_INSENSITIVEPattern.MULTILINEPattern.DOTALL
C#RegexOptions.IgnoreCaseRegexOptions.MultilineRegexOptions.Singleline
PHPi(分隔符后)ms

注意 C# 的 DotAll 叫 Singleline,命名与直觉相反。


⚠️ 常见坑#

  • 忘 g:以为”没匹配到”,其实只取了第一处;
  • g + test():带 g 的正则对象有 lastIndex 状态,连续调用会跳着匹配;
  • . 跨行:忘了开 s,跨行匹配失败;
  • 多行锚点:忘了 m,^$ 只匹配整段首尾。

🔧 常见问题#

Flags 可以组合吗? 可以,如 `gi` 表示全局 + 忽略大小写。
为什么同一个正则第二次匹配结果不对? 多半是带 `g` 的正则对象 `lastIndex` 未重置。新建正则对象或重置 `lastIndex` 即可。
各语言 Flags 通用吗? 语义类似但写法不同,迁移时用[多语言引擎](https://www.xingdian.net/app/regex/engines/)核对。

💬 总结#

最常用的三个:g(全局)、i(忽略大小写)、m(多行)。跨行还要 s。理解 Flags,能避免一大半”正则不工作”的问题。

立即体验:访问 正则测试器

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

最后更新于 2026-09-13,距今已过 32 天

部分内容可能已过时

相关文章 智能推荐
1
正则前瞻与后顾怎么用 - 断言语法详解与实例
正则工具 正则的前瞻(lookahead)与后顾(lookbehind)断言怎么用?本文用密码校验、金额、排除条件等实例,讲清正向/负向、前/后四种断言,并说明各语言兼容性差异。附在线正则测试工具。
2
ReDoS 是什么 - 正则表达式灾难性回溯与检测方法
正则工具 ReDoS(正则表达式拒绝服务)源于灾难性回溯。本文解释哪些正则结构会指数级变慢、为什么 (a+)+ 这类写法危险、如何检测与修复,并给出各引擎差异与实战建议。附在线 ReDoS 检测工具。
3
正则表达式语法速查表 - 元字符/量词/断言/Flags 大全
正则工具 正则表达式语法速查:元字符、字符类、量词、分组、断言、边界、转义与 Flags 一览,含含义与示例,适合随时查阅。附在线正则速查与测试工具。
4
正则匹配中文怎么写 - 汉字/中文标点匹配方法
正则工具 正则怎么匹配中文?本文给出汉字范围 [\u4e00-\u9fa5] 与 Unicode 属性 \p{Script=Han} 两种写法,说明中文标点、全角字符、长度统计的注意点。附在线正则测试工具。
5
Python 和 Java 正则怎么写 - 跨语言正则语法对照
正则工具 Python 和 Java 正则写法对照:原始字符串、命名捕获组、Flags、反向引用、前瞻后顾的差异,附代码示例。帮你把正则正确迁移到目标语言。在线多语言正则工具。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录