Skip to main content
This release is 5 versions behind 1.10.11 — the latest version of @rregex/rregex. Jump to latest

@rregex/rregex@1.10.6

A dependency-free WebAssembly build of Rust Regex for Javascript

Works with
This package works with Bun
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
It is unknown whether this package works with Browsers
JSR Score
76%
Published
3 weeks ago
deno add @rregex/rregex
import * as mod from "@rregex/rregex";
npx jsr add @rregex/rregex
import * as mod from "@rregex/rregex";
yarn dlx jsr add @rregex/rregex
import * as mod from "@rregex/rregex";
pnpm dlx jsr add @rregex/rregex
import * as mod from "@rregex/rregex";
bunx jsr add @rregex/rregex
import * as mod from "@rregex/rregex";

rregex

A dependency-free WebAssembly build of Rust Regex for Javascript

GitHub Actions Workflow Status GitHub Release NPM Version JSR Version

Note: this project is not intended to be used in production jet

Why Rust Regex

Rust has a powerful Regex library with a lot of features that don't exists en the standard Regex object

See the official documentation for more detail

Install

  # NPM
  npm install rregex

  # Yarn
  yarn add rregex

  # PNPM
  pnpm add rregex

  # Deno
  deno add @rregex/rregex

  # JSR
  npx jsr add @rregex/rregex

Supported Runtimes

This package includes builds for multiple runtimes

Runtime File
Node.js (esm) lib/esm.mjs (default)
Node.js (commonjs) lib/commonjs.cjs
Deno lib/esm.mjs
Bun lib/esm.mjs
Cloudflare Workers TODO
Browser TODO
Standalone TODO
Typescript lib/types.d.ts

Known Issues

If you call splitn(text, limit) and the expected result length is equal to limit - 1 the result will include an extra item "", this behavior does not happen if limit es greater. fixed at >=1.3

const regex = new RRegex(",");
expect(regex.splitn("a,b,c", 0)).toEqual([]);
expect(regex.splitn("a,b,c", 1)).toEqual(["a,b,c"]);
expect(regex.splitn("a,b,c", 2)).toEqual(["a", "b,c"]);
expect(regex.splitn("a,b,c", 3)).toEqual(["a", "b", "c"]);

// This result includes an unexpected extra item
expect(regex.splitn("a,b,c", 4)).toEqual(["a", "b", "c", ""]);
expect(regex.splitn("a,b,c", 5)).toEqual(["a", "b", "c"]);

expect(regex.splitn("abc", 0)).toEqual([]);
expect(regex.splitn("abc", 1)).toEqual(["abc"]);

// This result includes an unexpected extra item
expect(regex.splitn("abc", 2)).toEqual(["abc", ""]);
expect(regex.splitn("abc", 3)).toEqual(["abc"]);
Built and signed on
GitHub Actions
View transparency log