@ark/regex

中文文档
0.0.14发布于 2026/10/21MITTypeScriptES Module构建来源已验证近 30 天下载 12.8万

用类型替换新 RegExp( )

此软件包已被标记为弃用

@ark/regex is no longer published. Install arkregex instead.

中文使用文档
文档目录3 节
  1. 使用量
  2. 特征
  3. 财务问题

阿尔克雷格斯

倒车替换 new RegExp() 有类型

使用量

这个 regex 函数创建一个 Regex 类型 .test(), (中文(简体) ), .exec() 此外,静态地从本地JS语法中解析:

import { regex } from "arkregex"

const ok = regex("^ok$", "i")
// Regex<"ok" | "oK" | "Ok" | "OK", { flags: "i" }>

const semver = regex("^(\\d*)\\.(\\d*)\\.(\\d*)$")
// Regex<`${number}.${number}.${number}`, { captures: [`${number}`, `${number}`, `${number}`] }>

const email = regex("^(?<name>\\w+)@(?<domain>\\w+\\.\\w+)$")
// Regex<`${string}@${string}.${string}`, { names: { name: string; domain: `${string}.${string}`; }; ...>

你只需要开始 pnpm install arkregex (或您所选择的软件包管理器的等同内容)

以 TS 5.9+ 成绩最佳

特征

  • 类型: 引用您已有正则表达式的字符串类型, 包括位置和命名的抓取
  • 均等: 支持100% 特性 允许的 new RegExp()
  • 安全问题: 语法错误, 如引用一个不存在的组, 现在是输入错误
  • 0 运行时间: 改进类型安全而不影响捆绑大小

财务问题

为什么不是一些模式 像 [a-Z] 更准确的推断?

构造这些类型的表达式的字符串字元类型是组合的,如果我们推断字符范围是这样的字元字元,会很快地爆炸.

我们试图在性能和精确度之间取得平衡 同时保证推断出的类型 最不准确 永远不正确.

为什么它不工作 我的大规模RegExp?

如果你的表达式特别长或复杂,TypeScript将无法推断出它.

如果你的类型开始减慢 或者你看到可怕的 Type is excessively deep...,您可以用手动键入您的表达式 regex.as数字 :

const complexPattern = regex.as<`pattern-${string}`, { captures: [string] }>(
    "very-long-complex-expression-here"
)

坚固吗?

arkregex 类型是 广泛测试 财务报告和审定财务报表 基准 使用 证明。 。 。 .

如果其他的FAQ没有做到你所期望的, 请不要犹豫 创建问题。 。 。 .

我怎么才能用语法强调 regex? 吗?

这个 ArkType 扩展名 可安装以添加语法加亮到 regex 打电话.

版本与发布记录

@ark/regex 共发布 14 个版本,首次发布于 2025/10/14;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.14latest2026/10/2118 天前
0.0.132026/10/0830 天前
0.0.122026/10/021 个月前
0.0.112026/10/011 个月前
0.0.102026/09/251 个月前
0.0.82026/07/084 个月前

关于 @ark/regex 的常见问题

@ark/regex 是什么?

用类型替换新 RegExp( )注意:该包已被作者标记为弃用——@ark/regex is no longer published. Install arkregex instead.

如何安装 @ark/regex?

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

@ark/regex 支持 TypeScript 吗?

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

@ark/regex 支持 ESM 还是 CommonJS?

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

@ark/regex 可以商用吗?

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

@ark/regex 的下载量有多少?

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

@ark/regex 还在维护吗?

最新版本 0.0.14 发布于 2026/10/21(18 天前);至今共发布 14 个版本,其中过去 12 个月发布了 11 个;首次发布于 2025/10/14。作者已将其标记为弃用,新项目建议寻找替代方案。