替换结果实时更新,可直接复制使用
历史只保存在你自己的浏览器里(localStorage),最多 20 条,不会上传。
⚠️ 正则在你的浏览器里直接执行,请避免对超长文本使用带有嵌套量词的「灾难性回溯」写法(例如 (a+)+b)——工具已设置 5000 次匹配上限与耗时显示,发现耗时异常偏高就该优化正则。结构树是对正则结构的近似解析,用于辅助理解,极复杂的写法(如嵌套量词、条件分组)可能解释不完整;d 标志(用于读取捕获组位置)在旧浏览器不支持时会自动降级为只高亮整体匹配。历史记录保存在 localStorage,清除浏览器数据会一并清除。所有内容不会上传服务器。
正则难的不是语法,而是写完不知道它到底匹配到了什么——尤其是带捕获组的时候,$1 $2 到底是第几段、有没有匹配上,只能靠猜。这个增强版把「看不见的东西」全画出来:整体匹配用深浅两色交替标出,每个捕获组再套一层独立颜色,一眼就能看出哪一段进了 $1、哪一截是 $2,组嵌套也照样套色。
右侧三个面板分工明确:🎨 分组高亮直接在原文上着色;📋 匹配明细列出每一处匹配的位置、完整内容与各分组取值(点条目还能跳回高亮位置定位);🌳 结构树把正则拆成逐段可读的说明——\d{4} 是「数字 0-9,重复 4 次」、(?=.*\d) 是「正向预查」、量词后面标着贪婪还是惰性,看别人的正则时尤其好用。
还配了两个很省事的东西:常用正则库收了 40 条高频正则(手机号、邮箱、身份证、车牌、URL、域名、IPv4、日期时间、金额、银行卡、UUID、强密码校验、Markdown 链接、驼峰转下划线…),带分类与搜索,点一下直接套用;历史记录把最近用过的 20 条正则自动存在浏览器本地,刷新不丢,点一下就能复用。
另外还有实时替换预览(支持 $1、$<name>、$&)、匹配数与执行耗时统计(顺手发现慢正则)、六个修饰符一键切换,以及正则非法时的明确报错。写代码时还可能用得上JSON 格式化、时间戳转换、URL 编码解码和MD5/SHA 哈希。
^ $ 匹配每行首尾)· s 单行模式(. 也能匹配换行)· u Unicode 模式(正确处理 \u{1F600} 与代理对)· y 粘性匹配(只从 lastIndex 处开始)。写测试正则时通常开 g,处理多行文本再开 m。
(...) 捕获组,可用 $1 引用 · (?:...) 非捕获组,只分组不占编号 · (?<name>...) 命名捕获组,用 $<name> 引用 · (?=...) / (?!...) / (?<=...) / (?<!...) 四种预查(零宽,不消耗字符)。结构树会把它们分别标出来。
$1 或代码里的 match[1]),二是把一部分当整体施加量词。高亮里每个组一种颜色,你可以直接确认「我要的那一段是不是真的进 $1 了」——这是正则调试里最容易出错的地方。
(a)?b 匹配「b」时,第 1 组就是空的。这是正常现象,代码里取 match[1] 会得到 undefined,记得做兜底判断。
(a+)+、(\s*\w+)*),匹配失败时要尝试的组合数呈指数增长,可能卡死页面。解决办法:把嵌套量词改写为更精确的字符类、减少 .*、或用原子组思路重写。工具显示了耗时,发现毫秒数异常就别再加大测试文本了。
$1 $2… 的取值;点任意一条会自动跳回高亮面板并闪烁定位。$1、$<name>、$&),下方实时显示替换后的文本,可直接复制。$1 / $<name> / $&)、匹配数与执行耗时统计、六个修饰符一键切换、正则非法时明确报错;单次匹配上限 5000 次防止卡死;全部在浏览器本地执行,内容不上传服务器;适配手机与黑夜模式。
d(hasIndices)标志来读取每个组的起止位置,Chrome / Edge 90+、Firefox 88+、Safari 15+ 都支持;旧浏览器会自动降级为只高亮整体匹配。另外,零宽分组(如预查)与未参与匹配的组没有位置信息,自然也不会显示颜色。.* 换成更精确的字符类、避免 (x+)+ 这类写法)、先用短文本验证,确认耗时(右上角显示)正常再放长文本。[\u4e00-\u9fa5]);emoji 等特殊字符属于代理对,需要打开 u(Unicode)修饰符才能按字符正确处理,例如 /\p{Emoji}/u 或使用 \u{1F600} 写法。(...)),$1 才对应第 1 个组;命名组用 $<name>,整个匹配用 $&。另外替换预览按当前修饰符执行,没开 g 时只会替换第一处。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!