Skip to content

am11/regex-combiner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Regex Combiner

Combines an array of regexes into a single regex.

Example

var regexCombiner = require('regex-combiner');
var combined = regexCombiner([
    /abc$/,
    /abcd+e/,
    /a.*/,
    /bar/,
    'bad+' // strings are accepted too
]);
/* /(a(bc($|d+e)|.*)|ba(r|d+))/ */

combined.test('abcdddde'); // true
combined.test('bar'); // true
combined.test('baddd'); // true

Caveats

  • No flags! Combining case-sensitive and case-insensitive regexes is ... difficult, so all flags are ignored.
  • No back-references in the input regexes. Things like /(['"])foo\1/ are just not going to work.
  • The resulting regex is pretty much only going to be useful for .test(). Trying to get something meaningful from the groups is not going to be fun.

Licence

MIT

About

Combine multiple regexes into one

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%