正则表达式测试器
实时正则匹配测试、匹配项高亮、捕获组 (Group) 提取、常用修饰符切换与内置常用正则表达式模板库,纯前端离线运行,保护数据隐私。
{{ errorMsg }}
测试文本 (Test String)
载入示例
清空文本
复制文本
匹配高亮视图 (Match Highlights)
(共 {{ matchCount }} 处匹配)
暂无匹配项或捕获组
Match #{{ idx + 1 }}
位置: [{{ m.start }} ~ {{ m.end }}]
长度: {{ m.full.length }}
{{ m.full }}
{{ g.name ? `Group "${g.name}":` : `Group #${g.index}:` }}
{{ g.val !== undefined ? g.val : '' }}
替换结果预览
复制替换结果
◈ {{ cat.name }}
{{ tpl.title }}
{{ tpl.pattern }}
{{ tpl.desc }}
/{{ tpl.flags || 'g' }}
一键填入 →
| 元字符 / 语法 | 说明 | 示例 |
|---|---|---|
| . | 匹配除换行符以外的任意单个字符 (s 修饰符下匹配包含换行符) | a.c → "abc", "a c" |
| \d / \D | 匹配数字 [0-9] / 匹配非数字 [^0-9] | \d{3} → "123" |
| \w / \W | 匹配字母、数字、下划线 [A-Za-z0-9_] / 非单词字符 | \w+ → "user_01" |
| \s / \S | 匹配任何空白字符 (空格、制表、换页等) / 非空白字符 | \s+ → " " |
| ^ / $ | 匹配字符串或行首 (m模式下) / 匹配字符串或行尾 | ^\d+$ → 纯数字行 |
| \b / \B | 匹配单词边界 / 非单词边界 | \bcat\b → "cat" |
| * / + / ? | 匹配 0 次或多次 / 匹配 1 次或多次 / 匹配 0 次或 1 次 | a*b, a+b, a?b |
| {n,m} | 匹配最少 n 次,最多 m 次 | \d{6,18} |
| (...) | 捕获组,提取匹配子串并记录 Group 索引 | (\d{4})-(\d{2}) |
| (?:...) | 非捕获组,仅用于分组而不捕获文本 | (?:https?|ftp) |
| (?<name>...) | 命名捕获组,可通过名称提取 Group | (?<year>\d{4}) |
| (?=...) | 正向先行断言 (Lookahead):后面必须跟随匹配内容 | \d+(?=px) |
| (?!...) | 负向先行断言:后面不能跟随匹配内容 | \d+(?!px) |
| (?<=...) | 正向后行断言 (Lookbehind):前面必须是匹配内容 | (?<=\$)\d+ |
| (?<!...) | 负向后行断言:前面不能是匹配内容 | (?<!\\)\$ |