Tools · Regex
正则表达式在线测试
JavaScript RegExp · 实时匹配高亮 · 捕获组 · 替换预览 · 纯本地处理
测试文本
匹配结果
替换
替换为
替换结果
等待执行替换
常用正则表达式
正则表达式规则详解
正则表达式(Regular Expression)用来描述字符串的匹配模式。本工具使用 JavaScript 原生 RegExp,下面是最常用的语法与修饰符说明,可直接对照上方测试区练习。
修饰符 Flags
| 修饰符 | 含义 | 示例说明 |
|---|---|---|
g | 全局匹配,找出所有匹配项 | /a/g 在 "aba" 中匹配 2 次 |
i | 忽略大小写 | /abc/i 可匹配 ABC |
m | 多行模式,^ 和 $ 匹配每一行的行首/行尾 | /^foo/m 匹配每行开头的 foo |
s | dotAll,点号 . 可匹配换行符 | /a.b/s 可跨行匹配 |
常用元字符
| 写法 | 含义 |
|---|---|
. | 任意单个字符(s 修饰符下含换行) |
\d | 数字 [0-9] |
\D | 非数字 |
\w | 单词字符 [A-Za-z0-9_] |
\W | 非单词字符 |
\s | 空白(空格、Tab、换行等) |
\S | 非空白 |
^ | 行首(或字符串开头) |
$ | 行尾(或字符串结尾) |
[abc] | 字符类,匹配 a、b 或 c 之一 |
[^abc] | 否定字符类,不匹配 a/b/c |
| | 或,如 cat|dog |
量词
| 写法 | 含义 |
|---|---|
* | 0 次或多次(贪婪) |
+ | 1 次或多次(贪婪) |
? | 0 次或 1 次 |
{n} | 恰好 n 次 |
{n,} | 至少 n 次 |
{n,m} | n 到 m 次 |
*? +? | 非贪婪,尽可能少匹配 |
分组与引用
(...)捕获组,匹配结果可在右侧看到 $1、$2…(?:...)非捕获组,只分组不保存- 替换时
$1$2引用捕获内容,$&引用整段匹配 - 反斜杠转义:想匹配字面量
.*?等,请写\.\*\?
使用建议
- 先写简单模式再逐步加量词和分组,避免一次写太复杂的表达式。
- 验证邮箱、URL 等场景可点击上方「常用正则表达式」模板快速填入。
- 需要替换时打开 g 修饰符,否则默认只替换第一处。
- 捕获组适合提取结构化数据,例如
(\d{4})-(\d{2})-(\d{2})拆分日期。