正则测试
实时测试和调试正则表达式,支持匹配高亮显示。
匹配结果
0 matches未找到匹配项。
实时测试和调试正则表达式,支持匹配高亮显示。
未找到匹配项。
模式和测试文本
\b(\w+)\s+\1\b
This is is a test匹配结果
is is在生产环境使用正则前,应同时测试有代表性的正确与错误输入。
正则表达式测试工具让你先写好模式、喂一段测试文本,立刻看到到底匹配了什么,而不是直接把正则丢进线上代码碰运气。无论你是后端开发、数据分析师,还是偶尔要从日志里捞数据的人,匹配结果随输入实时更新,调试效率比改完代码再跑一遍高得多。
正则表达式是一种用紧凑符号描述文本模式的记法。它的理论根基来自数学家 Stephen Kleene 上世纪五十年代的研究,后来 Ken Thompson 把它带进了 Unix 的 grep,从此成为程序员的标配。如今几乎所有主流语言都内置正则引擎,虽然各家语法略有差异,但字符类、量词、分组、锚点这些核心概念是相通的。正则擅长校验格式固定的字符串、从日志提取字段、批量查找替换;但不适合解析 HTML 这类嵌套结构——这是新手常踩的坑。
新手最容易犯的错误是贪婪匹配:.* 会尽量多吃字符,对 say "hi" and "bye" 用 ".*" 会从第一个引号吞到最后一个,这时应该改用懒惰模式 .*?。第二个坑是灾难性回溯:像 (a+)+ 这样的嵌套量词,在不匹配的输入上可能直接卡死页面。第三是别忘了转义:匹配字面量的点要写 \.,所以匹配 IP 地址要用 \d+\.\d+\.\d+\.\d+。
开发者用它调试表单校验规则、打磨日志检索表达式、在接入代码前验证捕获组。处理一次性数据清洗时也很顺手,比如从一大段文本里把所有网址抠出来。
支持 JavaScript(ECMAScript)正则,这是 Web 开发中使用最广泛的风格。
在闭斜杠后添加标志,如 /pattern/gi 表示全局匹配 + 忽略大小写。支持 g、i、m、s、u 标志。
用括号括起来的部分会把匹配到的内容单独提取出来,方便你从匹配结果中取出局部信息,比如从手机号里取出区号。
JavaScript 中点号默认不匹配换行符,加上 s(dotAll)标志后就可以匹配包括换行在内的任意字符。