正则表达式测试器
一个功能强大的在线正则表达式测试器,支持实时匹配高亮、捕获组可视化、模式解释和替换模式。立即测试并调试您的正则表达式。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
正则表达式测试器
欢迎使用我们的正则表达式测试器,这是一个功能强大且免费的在线工具,用于测试、调试和学习正则表达式。无论您是需要验证输入模式的开发人员、提取结构化数据的数据分析师,还是正在学习正则语法的学生,本工具都能通过匹配高亮、捕获组颜色区分以及通俗易懂的模式解析为您提供即时的视觉反馈。
什么是正则表达式?
正则表达式(通常简称为 regex 或 regexp)是一种用于描述文本搜索模式的紧凑型模式语言。正则表达式最初由数学家 Stephen Kleene 在 20 世纪 50 年代开发,现已成为计算领域必不可少的工具——几乎在所有编程语言、文本编辑器和命令行实用程序中都有应用。一个简单的正则模式即可替代数十行程序化的字符串处理代码。
主要特点
⚡ 实时高亮
在您输入时实时查看高亮的匹配项。无需点击按钮,结果会随着您的每一次按键即时更新。
🎨 捕获组颜色
每个捕获组都被分配了不同的颜色,让您轻松辨别文本中的哪些部分匹配了模式中的哪个分组。
📖 模式解析说明
获取正则表达式模式的通俗易懂解析。每个标记(token)都有详细说明,确保您准确了解表达式的功能。
🔄 替换模式
测试带有捕获组反向引用($1, $2)的查找和替换操作。实时预览替换后的文本效果。
📋 模式库
一键快速加载常用的正则表达式模式,如电子邮箱、URL、电话号码、日期等。
🔒 100% 私密
所有处理都在您的浏览器中使用 JavaScript 运行。绝不会向服务器发送任何数据——您的模式和测试字符串将保留在您的设备上。
如何使用此工具
- 输入您的正则模式:在“模式”字段中输入或粘贴您的正则表达式。根据需要选择修饰符(g, i, m, s, u)。
- 提供测试字符串:在“测试字符串”区域中输入或粘贴您要测试的文本。
- 查看实时结果:匹配项会立即高亮显示,并带有颜色编码的捕获组。在“匹配详情”面板中查看匹配详细信息、分组值和字符索引。
- 阅读解析说明:查看“模式说明”面板,以通俗易懂的语言了解正则表达式每一部分的作用。
- 尝试替换模式:切换到“替换”模式,输入带有反向引用的替换字符串,并预览结果。
了解正则修饰符 (Flags)
全局 (g)
默认情况下,正则会在第一个匹配项后停止。g 修饰符会查找字符串中的所有匹配项,而不是在找到第一个后停止。这是最常用的修饰符。
不区分大小写 (i)
使模式匹配时忽略字母大小写。例如,/hello/i 会匹配 "Hello"、"HELLO" 和 "hElLo"。
多行 (m)
更改 ^ 和 $ 锚点的行为。如果不使用此修饰符,它们匹配整个字符串的开头/结尾。使用 m 后,它们还会匹配每一行的开头/结尾。
DotAll (s)
默认情况下,点号 . 匹配除换行符以外的任何字符。s 修饰符使 . 也能匹配换行符。
Unicode (u)
启用完整的 Unicode 匹配,包括对 \p{Letter} 等 Unicode 属性转义的支持。对于处理非 ASCII 文本的模式至关重要。
常用正则表达式模式
电子邮件验证
模式 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} 通过检查本地部分、@ 符号、域名和至少 2 个字符的顶级域名来匹配标准电子邮件地址。
URL 匹配
使用 https?://[^\s/$.?#].[^\s]* 来匹配 HTTP 和 HTTPS URL。s? 使 "s" 变为可选,从而同时匹配 http 和 https 协议。
日期格式
模式 (\d{4})[-/](\d{1,2})[-/](\d{1,2}) 匹配形如 2026-03-07 或 2026/3/7 的日期,并将年、月、日捕获到不同的分组中。
IP 地址
使用 \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b 匹配 IPv4 地址。\b 字边界防止匹配嵌入在较长字符串中的数字。
正则表达式速查表
字符类
. 匹配除换行符外的任何字符。\d 匹配数字 (0-9)。\w 匹配单词字符(字母、数字、下划线)。\s 匹配空白字符。使用大写版本(\D、\W、\S)进行反向匹配。
量词
* 表示零个或多个,+ 表示一个或多个,? 表示零个或一个。使用 {n} 表示恰好 n 次,{n,m} 表示 n 到 m 次之间,{n,} 表示 n 次或更多次重复。
锚点与边界
^ 匹配字符串开头(在 m 模式下为行首)。$ 匹配结尾。\b 匹配单词边界——即单词字符与非单词字符之间的位置。
分组与分支
圆括号 () 创建捕获组。使用 (?:) 创建非捕获组。管道符号 | 表示“或”——cat|dog 匹配 "cat" 或 "dog"。命名分组使用 (?<name>...) 语法。
技巧与建议
从小处着手
循序渐进地构建您的正则表达式。先从匹配所需内容一部分的简单模式开始,然后逐步增加复杂性。每次更改后都进行测试。
使用全局修饰符
调试时,始终启用 g 修饰符以查看所有匹配项。这有助于您发现整个测试字符串中意外的匹配或遗漏。
转义特殊字符
字符如 .、*、+、?、(、)、[、]、{、}、\、^、$ 和 | 具有特殊含义。要按字面意思匹配它们,请在前面加反斜杠:例如 \. 匹配实际的点号。
优先使用特定模式
使用 \d 代替 [0-9] 表示数字,使用 \w 代替 [a-zA-Z0-9_] 表示单词字符。它们效果相同,但更具可读性且不易出错。
常见问题解答
什么是正则表达式 (regex)?
正则表达式 (regex) 是定义搜索模式的字符序列。它用于字符串内的模式匹配,实现验证、搜索和文本操作等任务。例如,模式 \d{3}-\d{4} 可以匹配像 555-1234 这样的电话号码格式。
有哪些可用的正则表达式修饰符?
此工具支持五种正则修饰符:g (global) 查找所有匹配项而非在第一个匹配后停止;i (case-insensitive) 忽略字母大小写;m (multiline) 使 ^ 和 $ 匹配每一行的开头/结尾;s (dotAll) 使点号匹配换行符;u (unicode) 启用完整的 Unicode 匹配。
正则表达式中的捕获组是如何工作的?
捕获组由正则表达式模式中的圆括号 () 定义。它们捕获匹配的文本,以便您可以提取或引用匹配项的特定部分。例如,在模式 (\d{4})-(\d{2})-(\d{2}) 中,捕获组 1 捕获年份,组 2 捕获月份,组 3 捕获日期字符串中的日。
我的数据会在服务器上处理吗?
不会。所有正则表达式处理完全在您的浏览器中使用 JavaScript 完成。没有任何数据会被发送到任何服务器。您的模式和测试字符串完全私密,绝不会被存储或传输。
我可以使用此工具进行正则替换吗?
是的。使用开关切换到“替换”模式,输入您的替换字符串(支持捕获组的反向引用,如 $1、$2),即可实时预览替换后的文本及原文。
其它资源
引用此内容、页面或工具为:
"正则表达式测试器" 于 https://MiniWebtool.com/zh-cn//,来自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 团队提供。更新日期:2026年3月7日