开发者参考
正则表达式速查表:模式、标志与安全测试
本速查表面向 JavaScript 正则语法。匹配成功并不能证明输入真实或可信;电子邮件、身份、URL 与安全检查仍需业务规则和服务端验证。
在实时工具中测试 →01
核心构件
| 语法 | 含义 | 示例 |
|---|---|---|
. | 除换行符外的任意单个字符 | a.c |
\d / \D | 数字 / 非数字 | \d{4} |
\w / \W | ASCII 单词字符 / 其反集 | \w+ |
[a-z] / [^a-z] | 范围 / 否定字符类 | [A-F0-9] |
^ / $ | 输入或行的开头 / 结尾 | ^OK$ |
02
重复与分组
| 语法 | 含义 | 示例 |
|---|---|---|
* / + / ? | 零次或多次 / 一次或多次 / 可选 | https? |
{n} / {n,m} | 精确次数或范围重复 | \d{2,4} |
(abc) / (?:abc) | 捕获组 / 非捕获组 | (?:png|webp) |
(?<name>...) | 命名捕获组 | (?<year>\d{4}) |
(?=...) / (?!...) | 正向 / 负向先行断言 | \d+(?=px) |
03
JavaScript 标志
| 语法 | 含义 | 示例 |
|---|---|---|
g | 查找全部匹配,而非在首个匹配处停止 | — |
i | 忽略大小写 | — |
m | 让 ^ 与 $ 按行生效 | — |
s | 允许 . 匹配换行符 | — |
u / v | Unicode 模式;请检查引擎支持 | — |
常见问题
正则表达式能验证电子邮件地址吗?+
正则只能检查候选格式。可送达性和所有权仍需要验证邮件。
什么是 ReDoS 风险?+
设计不当的嵌套量词可能造成大量回溯。请限制输入、测试模式,并隔离不受信任的表达式。