正则表达式指令
正则
时间匹配
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
1. 问号相关
应用场景对比表
| 语法类型 | 典型场景 | 示例用途 |
|---|---|---|
量词{0,1} ? |
可选内容匹配 | http(s?) 匹配协议 |
非贪婪 *? |
提取最短内容 | <div>.*?</div> 匹配标签 |
预查断言 (?=)(?!) |
密码复杂度验证 | (?=.*\d)(?=.*[A-Z]) |
非捕获组 (?:) |
组合多个选项 | (?:jpg) |
命名组 (?P<>) |
结构化数据提取 | 日志解析、字段提取 |
模式修饰符 (?i) |
局部忽略大小写 | 混合大小写的关键字匹配 |
其他修饰符
常见位置在最后一个斜杠后标识,或在目标符合前使用括和问号标识(如(?s).*)
| 修饰符 | 名称 | 作用范围 | 功能描述 |
|---|---|---|---|
i |
Case Insensitive | 全局或局部 | 忽略大小写匹配 |
m |
Multiline | 全局或局部 | 使 ^ 和 $ 匹配每行的开头和结尾(而非整个字符串) |
s |
Dot All | 全局或局部 | 让 . 匹配包括换行符(\n)在内的所有字符 |
g |
Global | 全局(部分语言) | 全局匹配(如 JavaScript 中启用多次匹配) |
u |
Unicode | 全局或局部 | 启用完整的 Unicode 支持(如处理四字节字符) |
x |
Extended | 全局或局部 | 忽略正则中的空白和注释(允许格式化编写复杂正则) |
A |
Anchored | 全局(PCRE) | 强制从目标字符串开头开始匹配(类似 ^ 但更严格) |
D |
Dollar End Only | 全局(PCRE) | 使 $ 仅匹配字符串末尾(默认行为,与 m 修饰符冲突时需注意) |
U |
Ungreedy | 全局(PCRE) | 反转量词的贪婪性(* 和 + 变为非贪婪,*? 和 +? 变为贪婪) |

浙公网安备 33010602011771号