正则表达式测试工具

实时测试正则表达式,支持匹配结果查看和替换功能。

替换文本

常用正则表达式

\d{3}-\d{4}-\d{4}

匹配中国手机号

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

匹配邮箱地址

^(https?|ftp)://[^\s/$.?#].[^\s]*$

匹配URL链接

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

匹配IP地址

功能特点

  • 支持自定义正则表达式和 flags 修饰符(g/i/m),实时执行匹配测试
  • 清晰的匹配结果展示,包含匹配内容、位置索引和匹配总数
  • 内置替换功能,支持将匹配内容替换为指定文本并一键复制结果
  • 预置常用正则模板:手机号、邮箱、URL、IP 地址等常见模式
  • 即时错误检测,无效正则表达式会给出详细的语法错误信息

使用说明

在正则表达式输入框中输入要测试的正则模式,勾选需要的修饰符(全局匹配 g、忽略大小写 i、多行模式 m)。在测试文本区域中输入待匹配的文本,点击「执行匹配」按钮查看所有匹配结果。替换功能可以将匹配内容替换为指定文本。

使用示例

正则测试示例

正则: \d{11}
文本: 我的电话是13812345678和15987654321
匹配: 13812345678(位置 5)、15987654321(位置 18)
总数: 2 个匹配

常见问题

正则表达式中的特殊字符如何匹配字面含义?

特殊字符如 . * + ? 等需要使用反斜杠转义,例如 \. 匹配句点,\* 匹配星号。

全局标志 g 和非全局匹配有什么区别?

全局标志 g 会查找所有匹配结果,非全局模式找到第一个匹配后就停止。

为什么我的正则表达式在替换时报错?

替换功能会自动移除全局标志 g。如果需要替换所有匹配,请在正则中保留 g 标志。

为什么这个工具如此重要?

正则表达式是文本处理的强大工具,但语法复杂、易出错,编写和调试正则表达式是许多开发者的痛点。正则表达式测试器提供了一个实时交互的环境,让开发者可以输入正则模式、测试文本,并立即看到匹配结果。

典型应用场景

  • 表单验证:验证邮箱、手机号、密码格式是否正确
  • 数据提取:从文本中提取特定模式的数据
  • 文本替换:批量替换匹配的文本内容
  • 日志分析:从日志文件中提取关键信息
  • 开发调试:快速测试和验证正则表达式的正确性

工作原理

正则表达式测试器使用 JavaScript 的 RegExp 对象对输入的正则模式和测试文本进行匹配。工具支持 JavaScript 正则语法的所有特性,并提供实时匹配结果展示。

实用技巧

  • 使用捕获组提取特定部分的数据
  • 测试时使用多种边界情况的文本,确保正则的鲁棒性
  • 复杂的正则建议分段构建和测试