关于正则表达式测试
正则表达式(Regular Expression,简称 Regex 或 RegExp)是一种描述字符串模式的微型语言,被广泛应用于文本搜索、替换、验证、提取等场景。无论是表单验证(邮箱、手机号、URL)、日志分析、爬虫数据提取、代码重构,还是 IDE 的搜索替换功能,背后都离不开正则表达式。
正则表达式语法强大但学习曲线陡峭,开发者常需要反复测试才能写出正确的表达式。本工具提供一个即开即用的正则测试环境,输入正则表达式、可选标志位(如 g 全局、i 忽略大小写、m 多行、s 点号通配、u Unicode)与测试文本,立即查看匹配结果,帮助快速调试正则表达式。
本工具使用浏览器原生 JavaScript RegExp 对象,支持所有 ECMAScript 标准正则特性。所有匹配操作在浏览器本地完成,可放心处理敏感文本。
核心特性
完整标志位支持
支持 g、i、m、s、u、y 等所有 ECMAScript 正则标志位,覆盖各类匹配场景。
三段独立输入
正则表达式、标志位、测试文本分框输入,互不干扰,告别换行分隔的歧义。
原文匹配高亮
在原文中以高亮标记所有匹配区域,匹配位置与范围一目了然。
捕获组展示
逐项列出每个匹配的捕获组内容,调试 () 分组无需再开控制台。
替换预览
可选填替换字符串(支持 $1、$& 等),实时预览 replace 效果。
本地处理无上传
所有正则匹配在浏览器内完成,包含敏感信息的文本可放心测试。
使用场景
表单验证正则
编写邮箱、手机号、URL、身份证号等表单验证正则时,先在本工具测试各种边界情况。
日志提取关键信息
从大量日志中提取符合特定模式的行(如错误码、IP、时间戳),快速定位问题。
爬虫数据清洗
从 HTML 或 JSON 文本中提取目标数据,调试正则表达式匹配范围。
IDE 搜索替换预演
在 VS Code、Sublime 等编辑器中执行全局搜索替换前,先用本工具预演正则匹配与替换结果。
常见问题
为什么我的正则在工具里能匹配但代码里不行?
常见原因:1) 标志位不同(如缺 g 全局匹配);2) 字符串中的反斜杠在代码里需要双重转义(如 \d 在字符串中需写为 \\d);3) 不同语言的正则方言略有差异(如 JavaScript 不支持反向引用某些场景)。请检查代码中的正则字面量与字符串形式。
如何使用分组捕获?
使用括号 () 创建捕获组,如 (\d+)-(\d+) 匹配 "1-2",捕获组 1 为 "1",捕获组 2 为 "2"。本工具会在每个匹配项下方列出所有捕获组的内容,未参与匹配的组会标注「(未匹配)」。
支持反向引用(backreference)吗?
支持。JavaScript 原生 RegExp 支持反向引用 \1、\2 等,可用于匹配成对标签、引号等场景。本工具基于原生 RegExp 实现,完全兼容此特性。
支持正则预查(lookahead / lookbehind)吗?
支持正向预查 (?=...)、负向预查 (?!...),以及现代浏览器支持的正向回顾 (?<=...)、负向回顾 (?<!...)。如遇兼容性问题,请升级浏览器至最新版本。