addaleax/regjsenum

Enumerate matched strings for a given regular expression.

★ 2Forks 0JavaScriptGitHub ↗Compare

README

regjsenum

NPM Version Build Status Coverage Status

Enumerate matched strings for a given regular expression.

Install: npm install regjsenum

const enumerate = require('regjsenum').enumerate;

for (const string of enumerate(/(ab|c){3}/)) {
  console.log(string);
}

// prints:
ababab
cabab
abcab
ccab
ababc
cabc
abcc
ccc

Supports forced finite output:

const enumerate = require('regjsenum').enumerate;

for (const string of enumerateExamples("abc\\w*.*def")) {
  console.log(string);
}

// prints:
abcdef
abcAdef
abc.def
abcA.def
abcbdef
abcb.def
abc..def
abcA..def
abcb..def
abc1def
… (long but finite list of matching examples)

Comes with a tiny cli:

Limitations

This library currently does not support:

  • Backreferences
  • \b support
  • Lookahead groups
  • Overly large inverted character classes ([^…])

License

MIT

Contributors

addaleax

Issues