@bablr/regex-vm

中文文档
1.0.4发布于 2026/05/25MITES Module近 30 天下载 4435

一个全流正则表达式引擎

中文使用文档
文档目录6 节
  1. API 密码
  2. 测试
  3. 执行
  4. 执行全球
  5. 图案和旗帜
  6. 贷项

@bablr/regex-vm (英语)

@bablr/regex-vm 是一种全程的正则执行.

API 密码

测试(打印,输入)
执行(打印,输入)
执行全球(打印,输入)

input 预计将是流线的浏览器

测试

import { test } from '@bablr/regex-vm';

const didMatch = test(pattern, input);

didMatch 将会是 true 若为 pattern 某个位置的匹配 input。 。 。 .

执行

import { exec } from '@bablr/regex-vm';

const captures = exec(pattern, input);
// 1-indexed by lexical order of `(` ($2 is b)
const [match, $1, $2, $3] = exec(/(a(b))(c)/, input);

captures 将是 [match, ...captures] 从第一个地点 pattern 匹配在 input。这个方法与其返回的光谱不同 [] (单位:千美元)没有 null当 pattern 未在 input,这样它就可以被更善地用于分解结构。 如果您需要检查匹配是否存在, 您仍然可以用解结构语法来做 :

const [match = null, $1] = exec(/.*(a)/, input);

if (match !== null) console.log(`match: '${match}'`);
if ($1 !== undefined) console.log(`$1: '${$1}'`);

执行全球

import { execGlobal } from '@bablr/regex-vm';

const [...matches] = execGlobal(pattern, input);

matches 是匹配数组的可移动性( x)StreamIterable[[match, ...captures], ...matches]) (中文(简体) ). 若为 pattern 未在 input 火柴将空出. execGlobal 与 global (单位:千美元)/g) 旗帜. 如果 /g 旗帜未显示 matches 可执行性永远不会包含一个以上的匹配.

图案和旗帜

一些语法是不支持的. 不支持的语法只要在支持良好的语法中仍然被解析 缩写 parser, 这样您将不会被允许写入无法与其他引擎兼容的表达式 .

  • 图案使用"unicode模式"逃避规则. 只有有效的越狱在战术上是合法的.

  • 模式不支持外观( E)(?<=abc) 财务报告和审定财务报表 (?<!abc)) (中文(简体) ).

  • 模式不支持(也不会支持)回溯((.)\0) (中文(简体) ).

  • 模式不支持前置( 尚未) ((?=abc) 财务报告和审定财务报表 (?!abc)) (中文(简体) ). 见 11号。 。 。 .

  • 模式不支持命名的捕获组( Q)(?<name>)) (还.

  • Unicode 旗帜(/u)尚未支持。 支持它是一个最高优先事项。 见 33号。 。 。 .

  • 粘着的旗帜( Name/y)部分支持. 它只限制匹配尝试 pattern 开始时 input 或在全球比赛结束时(何时) /g 也在场)。 和放一个 ^ 在图案中,可能受多行旗影响(/m) (中文(简体) ).

贷项

谢谢杰森·普雷斯利! 没有你的 博客文章 我不知道从哪里开始。 也感谢我的朋友和家人,他们听到我谈论这件事比他们任何人都可能想要的要多.

版本与发布记录

@bablr/regex-vm 共发布 25 个版本,首次发布于 2023/11/27;过去 12 个月发布了 8 个版本。

版本发布日期距今
1.0.4latest2026/05/255 个月前
1.0.32026/05/205 个月前
1.0.22026/05/205 个月前
1.0.12026/05/155 个月前
1.0.02026/05/145 个月前
0.14.22026/01/309 个月前

关于 @bablr/regex-vm 的常见问题

@bablr/regex-vm 是什么?

一个全流正则表达式引擎

如何安装 @bablr/regex-vm?

在项目目录运行 npm install @bablr/regex-vm,或使用 pnpm add / yarn add / bun add。

@bablr/regex-vm 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/bablr__regex-vm 是否存在。

@bablr/regex-vm 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bablr/regex-vm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=12.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bablr/regex-vm 可以商用吗?

@bablr/regex-vm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bablr/regex-vm 的下载量有多少?

根据 npm 官方下载统计,@bablr/regex-vm 在 2026/10/08 – 2026/11/06 这 30 天内被下载 4,435 次,日均约 148 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bablr/regex-vm 还在维护吗?

最新版本 1.0.4 发布于 2026/05/25(5 个月前);至今共发布 25 个版本,其中过去 12 个月发布了 8 个;首次发布于 2023/11/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。