语言
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
正则表达式测试工具

正则表达式测试工具

使用实时匹配、捕获组高亮、替换模式和内置速查表来测试和调试正则表达式。

什么是正则表达式测试工具?

正则表达式测试工具是一个在线工具,用于测试和调试 正则表达式(Regex)。输入一个模式,输入或粘贴您的测试字符串,立即看到所有匹配项以实时高亮显示。

无论您是验证电子邮件地址、解析日志文件还是从文本中提取数据,此工具都可以帮助您快速构建和验证正则表达式模式,无需编写代码。

实时匹配

在您输入时查看高亮显示的匹配项,无需点击按钮。为快速模式开发提供即时反馈。

捕获组

每个分组都有自己的颜色,便于识别。为复杂模式提供视觉清晰度。

替换模式

使用即时预览测试替换模式。非常适合文本转换工作流。

内置速查表

无需离开页面即可快速查阅正则表达式语法。边学边用。
您的数据保持私密:所有处理都在 您的浏览器中 进行。无上传、无跟踪——您的文本和模式永远不会离开您的设备。

常用模式库

一键加载流行的正则表达式模式来快速启动您的工作:

  • 电子邮件验证模式
  • URL和域名匹配
  • IP地址提取
  • 电话号码格式
  • 日期和时间模式
  • HTML标签解析

如何使用正则表达式测试工具

1

输入您的模式

/ 分隔符之间输入您的正则表达式。该工具实时验证您的模式,如果语法无效,会立即显示错误。

2

设置标志

点击标志按钮来切换选项:

  • g(全局)— 查找所有匹配项,而不仅仅是第一个
  • i(不区分大小写)— 忽略大小写差异
  • m(多行)— ^$ 匹配每行的开始/结束
  • s(点号匹配所有)— . 也匹配换行符
  • u(Unicode)— 启用完整的Unicode匹配
3

输入测试文本

测试字符串 区域中输入或粘贴文本。匹配项会立即高亮显示,并使用颜色编码的捕获组。

4

查看匹配项

匹配详情 面板显示每个匹配项及其位置和捕获组值。徽章显示匹配总数。

使用替换模式

点击 替换 按钮启用替换。使用 $1$2${name} 输入替换模式来引用分组。结果预览实时更新。

快速开始提示:使用 常用模式 下拉菜单加载预设的正则表达式和示例文本。选项包括电子邮件、URL、IPv4地址、电话号码、日期、十六进制颜色、HTML标签等。

功能

实时匹配和高亮显示

当您输入正则表达式模式或修改测试字符串时,匹配项直接在文本区域中高亮显示。无需点击按钮——结果通过防抖输入自动更新以获得流畅的性能。

颜色编码的捕获组

每个捕获组都用不同的颜色高亮显示(最多5种颜色),使您可以轻松看到文本的哪些部分由哪个分组捕获。

  • 编号分组($1$2
  • 命名分组(${name}

匹配详情面板

查看每个匹配项的详细分解:

  • 完整匹配文本和字符位置
  • 编号和命名捕获组值
  • 颜色编码的分组标签,便于视觉识别

替换模式

切换替换面板来测试替换模式。输入带有分组引用的替换文本并立即查看结果。一键复制输出。

常用模式库

从10个预设模式中选择常见用例。每个模式都附带示例文本,以便您可以立即看到它的实际效果:

电子邮件和URL

验证电子邮件地址并从文本中提取URL

IP和电话

匹配IPv4地址和电话号码格式

日期和时间

解析各种格式的日期和时间模式

HTML标签

从标记中提取和解析HTML标签

十六进制颜色

匹配十六进制颜色代码(#RGB、#RRGGBB)

用户名和密码

验证用户名和强密码要求

内置速查表

可折叠的参考面板涵盖6个正则表达式语法类别,便于您工作时快速查阅:

字符类

匹配特定类型的字符:\d(数字)、\w(单词字符)、\s(空白)、.(任意字符)以及使用 [abc] 或范围 [a-z] 的自定义字符集。

量词

控制模式重复的次数:*(0次或更多)、+(1次或更多)、?(0次或1次)、{n}(恰好n次)、{n,m}(n到m次)。

锚点

匹配文本中的位置:^(字符串/行的开始)、$(字符串/行的结束)、\b(单词边界)、\B(非单词边界)。

分组和引用

捕获和引用匹配的部分:(pattern)(捕获分组)、(?<name>pattern)(命名分组)、(?:pattern)(非捕获分组)、\1$1(反向引用)。

环视

根据前面或后面的内容进行匹配:(?=pattern)(正向先行)、(?!pattern)(负向先行)、(?<=pattern)(正向后行)、(?<!pattern)(负向后行)。

标志

修改正则引擎的工作方式:g(全局)、i(不区分大小写)、m(多行)、s(点号匹配所有)、u(Unicode)。

常见问题

此工具使用哪个正则引擎?

此工具使用内置于您的浏览器中的 JavaScript RegExp引擎。它支持所有现代正则表达式功能,包括先行、后行、命名分组和Unicode属性。

我的数据安全吗?

是的。所有正则表达式匹配和文本处理都 完全在您的浏览器中 进行。没有任何内容被发送到任何服务器。您可以在页面加载后离线使用该工具来验证这一点。

标志按钮是什么意思?

  • g(全局)— 查找所有匹配项而不是在第一个处停止
  • i(不区分大小写)— 使匹配不区分大小写
  • m(多行)— 使 ^$ 匹配行边界
  • s(点号匹配所有)— 使 . 匹配换行符
  • u(Unicode)— 启用完整的Unicode支持

捕获组如何工作?

您的模式中的括号 () 创建捕获分组。每个分组捕获匹配的一部分,可在替换中作为 $1$2 等访问。命名分组使用 (?<name>...) 语法,可以作为 ${name} 引用。

示例:模式 (\w+)@(\w+)\.com 从电子邮件地址中将用户名捕获为 $1,将域名捕获为 $2

"无匹配"是什么意思?

这意味着您的正则表达式模式与测试字符串的任何部分都不匹配。常见的解决方案:

  • 检查您的模式语法是否有错误
  • 确保设置了正确的标志(例如,i 表示不区分大小写)
  • 验证测试字符串包含预期的文本
  • 尝试简化您的模式以隔离问题

我可以将其用于其他编程语言吗?

JavaScript正则表达式语法与其他语言(Python、Java、PHP、C#)非常相似。但是,在先行、后行支持或Unicode处理等高级功能中可能存在细微差异。

注意:此工具最适合测试在JavaScript环境中使用的模式。对于生产使用,请始终在目标语言的环境中验证您的正则表达式。
本地处理
/ /
/ 分隔符之间输入正则表达式模式,并在下方输入测试文本
点击 标志按钮(g、i、m、s、u)来切换正则标志
使用 常用模式 下拉菜单快速加载流行的正则表达式和示例文本
启用 替换 模式来测试替换模式,如 $1$2${name}
打开 速查表 快速查阅正则表达式语法
捕获组在测试字符串和匹配详情中使用 颜色编码
所有处理都在您的浏览器中本地进行
想了解更多? 阅读文档 →
1/8
开始输入以搜索...
搜索中...
未找到结果
请尝试使用不同的关键词搜索