🔍

正则表达式测试器

使用标志和分组测试 JavaScript 正则表达式。支持 正则表达式、正则测试 等场景,浏览器实时处理,粘贴即用,一键复制清空。oltool.net 免费在线工具。

//
3 个匹配
测试文本
高亮匹配
Contact alice@example.com or bob@test.org for details, or admin@site.io
匹配结果
[0] @ 8alice@example.com · groups: ["alice","example.com"]
[1] @ 29bob@test.org · groups: ["bob","test.org"]
[2] @ 58admin@site.io · groups: ["admin","site.io"]

关于 正则表达式测试器

正则表达式(Regular Expression,简称 regex)是用于匹配字符串模式的语言,几乎所有编程语言都支持。本工具基于浏览器原生 RegExp 引擎,提供实时匹配高亮、分组捕获、标志位(i/g/m/s/u/y)切换,复杂正则的调试不必再反复保存运行代码。

使用场景

  • 验证表单输入 — 调试邮箱、手机号、URL、密码强度等校验正则。
  • 日志提取 — 从大段日志里抓取时间戳、错误码、IP 地址等字段。
  • 批量替换 — 配合编辑器的"正则替换"功能,调好正则再批量改代码。
  • 爬虫数据清洗 — 从抓取的 HTML 里提取价格、标题、评分等结构化数据。
  • 学习语法 — 一边改正则一边看高亮结果,比看文档学得快。

常见问题

本工具用的是哪个正则方言?

JavaScript / ECMAScript 方言(PCRE 的子集)。常见差异:不支持反向引用 \g、原子组 (?>)、平衡组等高级特性。Python re 模块的语法绝大部分通用。

为什么我的正则匹配不到?

最常见原因:(1) 漏了 g 标志只匹配第一个;(2) 特殊字符 . * ? + 没转义;(3) 多行文本用了 ^/$ 但没加 m 标志。

正则会不会有性能问题?

会。嵌套量词(如 (a+)+)配上失败匹配会触发"灾难性回溯",导致页面卡死。本工具用浏览器原生引擎,超时会自动中断。

想测试 grep 或 sed 的正则怎么办?

它们用 BRE/ERE 方言,部分元字符需要转义(如 \(\))。本工具不完全兼容,复杂场景建议直接在终端测试。

怎么记住常用正则?

可以参考本站的「正则速查」工具,里面整理了邮箱、URL、IP、信用卡等常用模式。