正则表达式解释
网络所有处理都在浏览器本地完成,数据不上传服务器
把一条正则逐段拆开,每一段配上它实际匹配什么。读别人的正则时最烦的不是语法难,而是没人告诉你那一段是干什么的 —— 这行看起来像乱码的东西,往往是三个字符类加两个断言拼起来的。 这里是用解析器读出来的,不是「让模型讲讲」。 一条正则的语义是确定的,而模型讲错了你没有任何办法核对 —— 它会用同样自信的语气说「`*` 是至少一次」,而你拿这条解释去改代码只会更糊涂。解析器写错了测试能抓住(这个模块有 44 条断言),模型讲错了抓不住。 三处刻意讲清楚的地方: · 量词贴着它修饰的东西。`ab*` 里 `*` 修的是 `b` 而不是 `ab`,所以输出里是两行「a」「b*」,而不是把它拆成三个记号 —— 拆开就看不出一件事了 · 字符类里的元字符不展开。`[.*]` 里的 `.` 与 `*` 就是这两个字符本身,不是「任意字符」与「量词」。这是正则里最常见的误解来源,所以宁可明说也不展开 · 量词前面没东西时明确指出。`*abc` 在多数引擎里是语法错误,静默当成字面字符会让你以为它匹配一个 `*` ⚠️ 它不判断这条正则对不对、快不快 —— 那要用「正则测试」那个工具实际跑一遍。这里只回答「它写的是什么意思」。
功能
- 逐段列出:原文片段 + 它匹配什么,按括号层级缩进
- 量词并进它修饰的那一条(`a*` 是一行,不是两行)
- 字符类展开成人话:`[a-z0-9_]` → 列出每个区间与字符;取反的也说明
- ⚠️ 字符类里的元字符不展开 —— `[.*]` 里那两个就是字符本身
- 分组按类型区分:捕获组、命名捕获组、非捕获组、先行/后行断言
- 覆盖预定义类(`\d` `\w` `\s` `\b`)、控制字符、反向引用(数字与命名)、Unicode 属性(`\p{…}`)
- 标志(`g` `i` `m` `s` `u` `y` `d` `v`)逐个解释
- ⚠️ 括号没闭合、字符类没闭合、量词前面没东西 —— 都会明确指出来,而不是闷头解释
- 支持 `/模式/标志` 的常见写法,也接受只有模式
- 不联网、不靠模型,解释完全来自模式本身的结构
使用方法
- 把正则粘进输入框 —— 带 `/` 定界符或不带都行
- 逐段看下面的拆解,缩进表示嵌套层级
- 有标志的话,末尾单独一节解释每个标志
- 想实际试匹配,用「正则测试」那个工具
常见问题
- 为什么不用 AI 来讲正则?
- 因为它的解释你核对不了。一条正则的语义是确定的,而模型讲错时用的是同样自信的语气 —— 「`*` 是至少一次」这种话说出来,不懂的人根本看不出问题,拿它去改代码只会更糊涂。解析器不一样:它读一个字符产一条说明,写错了测试立刻红(这个模块有 44 条断言盯着),而且同一条正则在哪儿跑都是同一个解释。解释器能做的事没必要交给模型。
- `ab*` 到底修的是 b 还是 ab?
- 是 `b`。 量词只作用于紧挨着它前面那一个元素 —— `ab*` 匹配一个 `a` 后面跟零个或多个 `b`。想要「ab 整体重复」必须写成 `(ab)*`。这是初学者最容易搞错的一处,所以这里的输出把量词和它修饰的那一段放在同一行(`a` 一行、`b*` 一行),而不是拆成 `a`、`b`、`*` 三个记号 —— 拆开就看不出谁修饰谁了。
- `[.*]` 里的点号和星号是什么意思?
- 就是这两个字符本身。 在字符类(方括号)里面,`.` 不再是「任意字符」、`*` 也不再是量词,它们只是普通的成员 —— `[.*]` 匹配「一个点或一个星号」。要写「句号或星号」之外的东西就得往外挪。这是正则里最常见的误解来源之一,所以这里刻意不展开,并且明说它们是字面量。
- 和「正则测试」有什么区别?
- 分工很清楚:这个回答「它写的是什么意思」,那个回答「它实际匹配到什么」。读别人的正则、或者自己写完检查逻辑时用这个;想知道某段文本到底匹不匹配、捕获组抓到了什么,用那个(它还能跑替换预览与 ReDoS 风险检查)。两边都指望对方能替代自己是不行的:解释得再清楚,也替代不了一次真实匹配;跑得出结果,也说不清为什么。
相关工具
正则测试
文本浏览器里调试正则:匹配实时高亮、捕获组、替换预览,并挡住灾难性回溯;调好可生成 JavaScript、Python、Java、Go、PHP 代码,反向引用按语言转换。
正则表达式代码生成
网络把正则表达式变成 JavaScript、Python、Java、Go、PHP、C# 的代码片段,重点是各语言字符串里反斜杠的正确写法。
代码着色
网络把代码染上语法颜色,选中复制即可带颜色贴进 PPT 与 Word;也可以输出内联样式的 HTML 源码,直接放进博客或邮件。支持 26 种语言。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。