正则表达式测试器

实时高亮 · 捕获组 · 替换模式 · 模式解析
常用模式:
✉ 邮箱
🔗 URL
☎ 电话
📅 日期
🌐 IP地址
⟨⟩ HTML标签
中 中文
## 数字
/ /
g
i
m
s
u
匹配
替换
测试字符串
0 匹配
0 捕获组
0 ms
🔄 替换结果
📖 正则表达式快速参考
字符类
.任意字符(除换行符)
\d数字 [0-9]
\D非数字 [^0-9]
\w字母数字 [a-zA-Z0-9_]
\W非字母数字
\s空白字符
[abc]字符集:a, b 或 c
[^abc]否定集:非 a, b, c
[a-z]范围:a 到 z
量词
*零个或多个
+一个或多个
?零个或一个(可选)
{n}恰好 n 次
{n,}至少 n 次
{n,m}n 到 m 次
*?非贪婪匹配
锚点与分组
^字符串/行开头
$字符串/行结尾
\b单词边界
(abc)捕获组
(?:abc)非捕获组
(?=abc)正向前瞻
(?!abc)负向前瞻
a|b或:a 或 b
$1, $2替换中引用捕获组
常用旗标
g全局匹配所有结果
i不区分大小写
m多行:^$匹配行首行尾
s单行:.匹配换行符
uUnicode模式

📖 正则表达式测试器使用说明

正则表达式测试器提供实时匹配高亮、捕获组可视化、替换预览和常用模式库,帮助开发者和SEO从业者快速测试、调试和学习正则表达式。所有处理在浏览器端完成,数据不会发送到服务器。

一、什么是正则表达式?

1.1 定义与用途

正则表达式(Regular Expression,简称 regex)是一种用于描述文本搜索模式的特殊语法,被广泛应用于编程语言、文本编辑器、搜索工具和数据处理中。一个正则表达式可以替代数十行字符串处理代码。

1.2 SEO中的正则应用

在SEO工作中,正则表达式广泛应用于:Google Analytics/Search Console中的URL过滤、Screaming Frog中的URL匹配、.htaccess重定向规则编写、日志分析中的模式提取等场景。

1.3 实时测试的意义

正则表达式语法紧凑但不直观,一个小错误就可能导致完全不同的匹配结果。实时测试工具让你在编写过程中立即看到效果,大幅提升调试效率。

二、核心功能

2.1 实时高亮匹配

输入正则表达式和测试文本后,匹配结果会即时以彩色高亮显示。每个捕获组使用不同颜色标记,一目了然。

2.2 替换模式

切换到替换模式后,可以输入替换字符串(支持 $1、$2 等反向引用),实时预览替换后的文本结果。

2.3 匹配详情面板

展示每个匹配的完整内容、字符位置索引和所有捕获组的值,方便精确调试。

2.4 常用模式库

一键加载邮箱、URL、电话、日期、IP地址、HTML标签、中文、数字等常用正则模式。

三、使用场景

3.1 URL匹配与重定向

编写 .htaccess 或 Nginx 重定向规则时,先用本工具测试正则是否能正确匹配目标URL。

3.2 数据提取与清洗

从日志文件、HTML源码或CSV数据中提取特定模式的内容,如邮箱、电话号码、价格等。

3.3 表单验证

开发网页表单时,测试用户输入验证的正则规则是否准确覆盖合法输入并排除非法输入。

3.4 Google Analytics过滤

在GA中创建自定义过滤器或目标时,需要用正则匹配特定的页面路径或来源。

3.5 爬虫规则编写

在robots.txt中使用正则控制爬虫行为,或在爬虫程序中匹配和提取数据。

四、旗标说明

五、使用教程:如何在线测试正则表达式

第1步:输入正则表达式

在正则输入框中输入表达式,选择匹配标志(g/i/m)。

第2步:输入测试文本

在文本框中输入要匹配的测试字符串。

第3步:查看匹配结果

工具实时高亮所有匹配项,显示捕获组和匹配位置。

第4步:调试优化

修改正则表达式实时查看变化,直到满足需求。

六、常见问题

5.1 为什么没有匹配到任何内容?

检查是否开启了正确的旗标(如 g 全局、i 忽略大小写),确认测试文本中确实包含目标模式,并留意正则中的转义字符。

5.2 捕获组和非捕获组有什么区别?

(abc) 是捕获组,匹配的内容可通过 $1 引用;(?:abc) 是非捕获组,只用于分组不捕获内容,在不需要引用时可提升性能。

5.3 贪婪匹配和非贪婪匹配怎么区别?

默认量词(*、+)是贪婪的,尽可能多地匹配。在量词后加 ? 变为非贪婪,匹配最少内容。例如 <.+> 会匹配整个 <a>text</a>,而 <.+?> 只匹配 <a>

5.4 这个工具和编程语言的正则一致吗?

本工具使用JavaScript的正则引擎。大多数基本语法与Python、Java、PHP等语言通用,但某些高级特性(如命名组语法、回顾断言)可能存在差异。

5.5 可以测试多行文本吗?

可以。在测试文本框中直接输入多行文本,开启 m 旗标后 ^ 和 $ 会匹配每行的开头和结尾。

5.6 $1、$2在替换中怎么用?

$1 引用第一个捕获组的内容,$2 引用第二个,以此类推。例如正则 (\w+)@(\w+) 匹配邮箱时,替换为 用户:$1 域名:$2 可以拆分邮箱。

5.7 数据会上传吗?

不会。所有正则匹配在浏览器端执行,数据不离开你的设备。