#regex #quickjs #libregexp #test-suite #js-regex

ecma_regex

regex in ECMAScript regular expression syntax!

2 releases

0.0.2 Feb 15, 2023
0.0.1 Feb 4, 2023

#2 in #libregexp

MIT license

15KB
252 lines

ecma_regex

The goal of ecma_regex is to provide the same functionality as the regex crate in ECMAScript regular expression syntax.

  • Reliable regex engine from QuickJS
  • Passes nearly 100% of the ECMAScript Test Suite tests

Build on top of libregexp-sys.

Difference to regex

Difference to ECMAScript Regexp

  • Regexp in ECMAScript is stateful while ecma_regex is stateless.

  • Regexp in ECMAScript need to deal with flags like g, m, s, u, y while ecma_regex doesn't. The corresponding behaviors in different flags are implemented as different methods in ecma_regex crate.

It's possible to write a Regexp crate having the same behavior as ECMAScript Regexp, but it's not the goal of this crate.

Credit

The API try to align with regex crate and reuse it's documents, credit to the author and contributors.

Dependencies

~2.8–5MB
~128K SLoC