正则表达式在线测试:正则匹配 / 替换与捕获组
正则表达式在线测试(也称正则测试工具、正则在线、Regex 测试器、正则匹配、正则替换、regex tester)可在浏览器本地编写 JavaScript 正则、勾选修饰符,并对测试文本做实时高亮匹配、列出捕获组,以及执行替换预览。适合校验邮箱 / 手机号 / URL 等规则、调试接口校验表达式、排查替换模板。全部在本地完成,文本与表达式不上传。
什么是正则表达式
正则表达式(Regular Expression / RegExp)用一套符号描述「字符串模式」,可从文本中查找、提取或替换符合规则的片段。常见于表单校验、日志过滤、文本清洗、爬虫解析与代码搜索。本页引擎为浏览器原生 JavaScript RegExp(ECMAScript),与 PHP / Python / Java 等方言在部分语法与标志上略有差异,跨语言移植时请对照各自文档。
怎么用正则测试工具
- 在「正则表达式」框输入模式(无需手写首尾
/),用芯片或右侧框设置g i m s u y等修饰符。 - 在「测试文本」粘贴样例;输入时会自动匹配并高亮,右侧列出序号、起止下标与捕获组。也可点「测试」立即刷新。
- 需要改写文本时切换「替换 Replace」,填写替换串(可用
$1、$&等),查看替换结果并一键复制。 - 可点「常用示例」快速载入邮箱、手机号、URL、日期、IP、身份证、后行断言等模板。
常用修饰符
- g:全局匹配,找出全部命中,而不是只停在第一处。
- i:忽略大小写。
- m:多行模式,使
^/$匹配每一行的行首 / 行尾。 - s:点号
.可匹配换行符(dotAll)。 - u:Unicode 模式,正确处理码点与部分 Unicode 属性。
- y:粘性匹配,从
lastIndex位置开始匹配。
替换引用
$1、$2…:对应捕获组;命名组可用$<name>(视浏览器支持而定)。$&:整段匹配内容;$`匹配前文本;$'匹配后文本。$$:字面量美元符号$。
常见用途
- 核对前端 / 后端校验规则是否与样例一致。
- 从日志、配置、表格文本中提取邮箱、订单号、日期等字段。
- 调试批量替换模板,确认捕获组编号与替换结果。
常见问题
内容会上传吗?
不会。匹配与替换均在浏览器本地用 JavaScript 完成,不提交到服务器。
为什么和 PHP / Python 结果不一样?
各语言正则方言不同(如回溯、占有量词、部分断言、标志位)。本页以 JS RegExp 为准;若目标环境是别的语言,请用对应引擎再验一次。
出现「语法错误」怎么办?
常见原因:未转义的 \、括号未闭合、无效量词、不支持的标志组合。按报错信息修正后会自动重试。
贪婪和非贪婪有什么区别?
*、+ 默认贪婪,会尽量多匹配;写成 *?、+? 为非贪婪,尽量少匹配。例如对 <div>a</div>,<.+> 可能整段吃掉,<.+?> 更易只吃到第一个 >。
零宽匹配是什么?
如 (?=…) 断言或 \b 可能匹配长度为 0 的位置,高亮里会显示细竖线标记,列表中记为「零宽」。
会不会卡死页面?
极端回溯(灾难性回溯)的正则在大数据上可能导致浏览器短暂卡顿。本页对全局匹配条数做了上限截断;生产环境请避免对不可信输入使用复杂嵌套量词。
相关网络工具
免责声明
本工具仅供学习与调试参考,不保证与所有语言 / 引擎行为完全一致。请勿对不可信的超大文本运行高复杂度正则;因误用、性能问题或结果偏差造成的损失由使用者自行承担。
评论
暂无评论
来发表第一条评论吧