@dashevo/wasm-re2

中文文档
2.0.4发布于 2023/07/31ISCTypeScriptCommonJS零依赖近 30 天下载 6336

用于不同平台(Linux、Windows、macOS)的RE2

中文使用文档
文档目录21 节
  1. 开始
  2. 安装
  3. 使用量
  4. API 密码
  5. RE2.test(string)
  6. RE2.exec(string)
  7. RE2.replace(string, rewrite)
  8. RE2.numberOfCaptureGroups()
  9. 与代理公司合作
  10. 对于Mac
  11. 对于窗口
  12. 拉出子模块 google-re2
  13. 克隆嵌入 存储重存
  14. 输入目录
  15. 获取 emsdk 的最新版本( 不需要您第一次克隆)
  16. 下载并安装最新的 SDK 工具
  17. 使当前用户的"最新"SDK"活动". (写作~/.emscripten文件)
  18. 激活当前终端中的 PATH 和其他环境变量
  19. 编译 C 代码
  20. 更新 re2 到最近
  21. 滚动

可再生能源2

开始

安装

npm i wasm-re2

使用量

import { RE2 } from 'wasm-re2';

const regex = new RE2('(b|^a)', 'g');

const isFound = regex.test('aabc');
// true

const matches = regex.exec('aabc');
// [ ['a', 'a'], ['b', 'b'] ]

API 密码

RE2.test(string)

执行正则表达式和指定字符串之间的匹配搜索.

返回真伪.

RE2.exec(string)

返回正则表达式相对于字符串的所有匹配.

工作如非可插入的 RegExp match All.

Exec 返回 2D 阵列中的所有结果,其中每个结果由 [完整匹配,... captureMathces] 组成.

示例

const regex = new RE2('(abc)\\d+(zxc)', 'g');

regex.exec('123abc123zxc123abc123zxc123')
// [ ['abc123zxc', 'abc', 'zxc'], ['abc123zxc', 'abc', 'zxc'] ]

RE2.replace(string, rewrite)

返回一个新字符串,其中部分或全部匹配模式被替换.

RE2.numberOfCaptureGroups()

返回捕获组的数目.

与代理公司合作

对于Mac

如果您使用 mac 继续 拉出子模块 google-re2。 。 。 . 你需要安装节点和蟒蛇.

对于窗口

从Microsoft Store安装Debian,然后启动并创建UNIX用户.

Enter new UNIX username:
New password:
Retype new password:

然后发射:

sudo apt-get update -y && sudo apt-get install nodejs npm git python -y

使用 Windows 10 安装子系统 WSL :

  1. 打开 Settings。 。 。 .
  2. 点击 Apps。 。 。 .
  3. 在 Related settings 区域,单击 Programs and Features 选项.
  4. 点击 Turn Windows features on or off 选项.
  5. 检查 Windows Subsystem 用于 Linux 复选框.
  6. 点击 OK 按钮.
  7. 那你需要重启电脑.

用 WSL 启动 IDE, 并在 WSL 终端中执行所有接下来的动作 .

拉出子模块 google-re2

git submodule update --init

克隆嵌入 存储重存

git clone https://github.com/emscripten-core/emsdk.git

输入目录

cd emsdk

获取 emsdk 的最新版本( 不需要您第一次克隆)

git pull

下载并安装最新的 SDK 工具

./emsdk install latest

使当前用户的"最新"SDK"活动". (写作~/.emscripten文件)

./emsdk activate latest

激活当前终端中的 PATH 和其他环境变量

从emsdk dir 获取 : source ./emsdk_env.sh

从回: source ../emsdk/emsdk_env.sh

编译 C 代码

安装依赖关系

npm i

更新/ 创建正在运行的基础文件夹

npm run foundation

确保您有执行文件的权限 chmod +x ./compile.sh

运行脚本 npm run compile

测试

npm test

更新 re2 到最近

如果更新了google-re2模块

git pull --recurse-submodules

然后运行此脚本以更新 Re2 软件包

npm run build:update

滚动

更改滚动配置为 Rollup_FAQ.md 内 yaml-core 包件或访问 https://rollupjs.org/guide/en/ (中文(简体) )。 。 。 .

版本与发布记录

@dashevo/wasm-re2 共发布 5 个版本,首次发布于 2022/03/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.4latest2023/07/313 年前
2.0.32023/07/273 年前
1.0.22022/03/164 年前
1.0.12022/03/164 年前
1.0.02022/03/164 年前

关于 @dashevo/wasm-re2 的常见问题

@dashevo/wasm-re2 是什么?

用于不同平台(Linux、Windows、macOS)的RE2

如何安装 @dashevo/wasm-re2?

在项目目录运行 npm install @dashevo/wasm-re2,或使用 pnpm add / yarn add / bun add。

@dashevo/wasm-re2 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dashevo/wasm-re2 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dashevo/wasm-re2 需要什么版本的 Node.js?

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

@dashevo/wasm-re2 可以商用吗?

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

@dashevo/wasm-re2 的下载量有多少?

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

@dashevo/wasm-re2 还在维护吗?

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