正则表达式测试
在线测试正则:全标志(g/i/m/s/u/y/d)、命名分组、匹配明细(位置/长度/分组)、替换计数、常用模板与语法速查,纯前端。
纯前端处理,数据不上传
//g
匹配高亮 · 共 2 处
联系我们:hi@toolbox.dev 或 support@example.com,工单优先。
匹配明细
| # | 完整匹配 | 位置 | 长度 | 捕获分组 |
|---|---|---|---|---|
| 1 | hi@toolbox.dev | 5–19 | 14 | $1=hi$2=toolbox.devuser=hidomain=toolbox.dev |
| 2 | support@example.com | 22–41 | 19 | $1=support$2=example.comuser=supportdomain=example.com |
将替换 2 处
替换预览
联系我们: 或 ,工单优先。
正则语法速查表
\d \w \s数字 / 单词字符 / 空白\D \W \S上述的取反. ^ $任意字符 / 行首 / 行尾* + ?0+ / 1+ / 0或1 次{n} {n,} {n,m}精确 / 至少 / 区间次数*? +?惰性(最少)匹配[abc] [^abc]字符集 / 排除集(a|b)分支:a 或 b(?<name>…)命名捕获分组(?:…)非捕获分组(?=…) (?!…)正/负向先行断言(?<=…) (?<!…)正/负向后行断言\b \B单词边界 / 非边界\1 \k<name>反向引用(编号/命名)工具介绍
正则表达式(Regular Expression)是一种用简洁语法描述文本匹配规则的强大工具,广泛用于表单校验、日志提取、批量查找替换、数据清洗等场景。但正则的语法抽象、容易写错,边写边在真实文本上验证,是高效掌握正则的关键。
本工具提供实时的正则测试环境:输入表达式并勾选所需标志(全局 g、忽略大小写 i、多行 m、点匹配换行 s、Unicode u、粘性 y、记录下标 d),在测试文本中粘贴内容后,所有匹配片段会即时高亮并统计总数。下方的「匹配明细」表格逐条列出完整匹配、起止位置、长度,以及编号分组与命名分组((?<name>…))的取值,帮助你确认表达式是否如预期工作;不熟悉语法时,可从「常用模板」直接插入邮箱、URL、IP、日期等现成规则,或展开内置的语法速查表对照符号含义。
除了匹配,工具还内置替换预览功能,支持 $1、$<name>、$& 等反向引用语法,填入替换串即可看到替换后的完整结果与将替换的处数,并一键复制。整个过程在浏览器本地完成,测试文本不会上传,既保护隐私又响应迅速。
使用方法
- 在「正则」框输入表达式(无需写两侧斜杠),勾选 g/i/m/s/u/y/d 标志,或从「常用模板」插入邮箱、URL、IP 等现成规则。
- 在「测试文本」中粘贴待匹配内容,匹配片段会实时高亮,并显示匹配总数。
- 「匹配明细」表格逐条列出完整匹配、起止位置、长度,以及编号与命名捕获分组,便于核对。
- 在「替换为」填入替换串(支持 $1、$<name>、$& 等反向引用),即时预览替换结果与将替换的处数,可一键复制。
常见问题
- 正则要不要写两边的斜杠?
- 不需要。直接输入表达式主体即可,标志通过复选框单独勾选,工具会按 /正则/标志 的形式自动组装,右上角可一键复制完整写法。
- 各个标志是什么意思?
- g 全局匹配所有结果;i 忽略大小写;m 多行让 ^$ 匹配每行;s 让 . 匹配换行;u 启用 Unicode 与 \p{...};y 粘性匹配,仅从 lastIndex 处尝试;d 记录每个匹配/分组的起止下标。鼠标悬停标志即可看说明。
- 支持命名捕获分组吗?
- 支持。用 (?<name>…) 定义命名分组后,「匹配明细」会同时列出编号分组($1、$2)与命名分组(name=值);替换串里可用 $<name> 引用,与 JavaScript 一致。
- 替换支持分组引用吗?
- 支持。使用 $1、$2 引用编号分组,$<name> 引用命名分组,$& 表示整个匹配,与 JavaScript String.replace 行为一致,并实时显示会替换多少处。
- 会不会卡死?
- 某些写法(灾难性回溯)在超长文本上可能很慢,工具内置匹配次数上限保护。若仍卡顿,请简化表达式或减少测试文本量。所有运算均在本地浏览器进行,文本不上传。