正则表达式测试

在线测试正则:全标志(g/i/m/s/u/y/d)、命名分组、匹配明细(位置/长度/分组)、替换计数、常用模板与语法速查,纯前端。

纯前端处理,数据不上传

//g
匹配高亮 · 共 2
联系我们:hi@toolbox.devsupport@example.com,工单优先。
匹配明细
#完整匹配位置长度捕获分组
1hi@toolbox.dev5–1914$1=hi$2=toolbox.devuser=hidomain=toolbox.dev
2support@example.com22–4119$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>、$& 等反向引用语法,填入替换串即可看到替换后的完整结果与将替换的处数,并一键复制。整个过程在浏览器本地完成,测试文本不会上传,既保护隐私又响应迅速。

使用方法

  1. 在「正则」框输入表达式(无需写两侧斜杠),勾选 g/i/m/s/u/y/d 标志,或从「常用模板」插入邮箱、URL、IP 等现成规则。
  2. 在「测试文本」中粘贴待匹配内容,匹配片段会实时高亮,并显示匹配总数。
  3. 「匹配明细」表格逐条列出完整匹配、起止位置、长度,以及编号与命名捕获分组,便于核对。
  4. 在「替换为」填入替换串(支持 $1、$<name>、$& 等反向引用),即时预览替换结果与将替换的处数,可一键复制。

常见问题

正则要不要写两边的斜杠?
不需要。直接输入表达式主体即可,标志通过复选框单独勾选,工具会按 /正则/标志 的形式自动组装,右上角可一键复制完整写法。
各个标志是什么意思?
g 全局匹配所有结果;i 忽略大小写;m 多行让 ^$ 匹配每行;s 让 . 匹配换行;u 启用 Unicode 与 \p{...};y 粘性匹配,仅从 lastIndex 处尝试;d 记录每个匹配/分组的起止下标。鼠标悬停标志即可看说明。
支持命名捕获分组吗?
支持。用 (?<name>…) 定义命名分组后,「匹配明细」会同时列出编号分组($1、$2)与命名分组(name=值);替换串里可用 $<name> 引用,与 JavaScript 一致。
替换支持分组引用吗?
支持。使用 $1、$2 引用编号分组,$<name> 引用命名分组,$& 表示整个匹配,与 JavaScript String.replace 行为一致,并实时显示会替换多少处。
会不会卡死?
某些写法(灾难性回溯)在超长文本上可能很慢,工具内置匹配次数上限保护。若仍卡顿,请简化表达式或减少测试文本量。所有运算均在本地浏览器进行,文本不上传。

相关工具