HandyTools Hub

正则测试

实时测试和调试正则表达式,支持匹配高亮显示。

/ /
匹配结果将在此处高亮显示...

匹配结果

0 matches

未找到匹配项。

用一个真实匹配试试

查找重复单词

模式和测试文本

\b(\w+)\s+\1\b
This is is a test

匹配结果

is is

匹配不等于完整校验

在生产环境使用正则前,应同时测试有代表性的正确与错误输入。

阅读正则入门指南

正则表达式测试工具让你先写好模式、喂一段测试文本,立刻看到到底匹配了什么,而不是直接把正则丢进线上代码碰运气。无论你是后端开发、数据分析师,还是偶尔要从日志里捞数据的人,匹配结果随输入实时更新,调试效率比改完代码再跑一遍高得多。

什么是正则表达式?

正则表达式是一种用紧凑符号描述文本模式的记法。它的理论根基来自数学家 Stephen Kleene 上世纪五十年代的研究,后来 Ken Thompson 把它带进了 Unix 的 grep,从此成为程序员的标配。如今几乎所有主流语言都内置正则引擎,虽然各家语法略有差异,但字符类、量词、分组、锚点这些核心概念是相通的。正则擅长校验格式固定的字符串、从日志提取字段、批量查找替换;但不适合解析 HTML 这类嵌套结构——这是新手常踩的坑。

如何使用

  • 输入模式: 输入您的正则表达式模式
  • 添加测试字符串: 输入要匹配的文本
  • 查看匹配: 实时查看高亮显示的匹配项
  • 检查组: 查看捕获组和匹配详情

功能特性

  • 实时正则匹配
  • 匹配高亮显示
  • 捕获组显示
  • 支持标志(g、i、m、s)

写正则的实用建议

新手最容易犯的错误是贪婪匹配:.* 会尽量多吃字符,对 say "hi" and "bye"".*" 会从第一个引号吞到最后一个,这时应该改用懒惰模式 .*?。第二个坑是灾难性回溯:像 (a+)+ 这样的嵌套量词,在不匹配的输入上可能直接卡死页面。第三是别忘了转义:匹配字面量的点要写 \.,所以匹配 IP 地址要用 \d+\.\d+\.\d+\.\d+

使用场景

开发者用它调试表单校验规则、打磨日志检索表达式、在接入代码前验证捕获组。处理一次性数据清洗时也很顺手,比如从一大段文本里把所有网址抠出来。

相关工具

常见问题

支持哪些正则表达式风格?

支持 JavaScript(ECMAScript)正则,这是 Web 开发中使用最广泛的风格。

如何使用标志?

在闭斜杠后添加标志,如 /pattern/gi 表示全局匹配 + 忽略大小写。支持 g、i、m、s、u 标志。

什么是捕获组?

用括号括起来的部分会把匹配到的内容单独提取出来,方便你从匹配结果中取出局部信息,比如从手机号里取出区号。

为什么点号匹配不到换行?

JavaScript 中点号默认不匹配换行符,加上 s(dotAll)标志后就可以匹配包括换行在内的任意字符。