match-recursive

0.1.1 • Public • Published

match-recursive Build Status

Recursive regular expression matching for nested constructs

Heavily inspired by Steven Leviathan's article.

Ever wanted to match all contents between braces in a string, only to run into trouble with unmatched braces? Here's the solution!

Each [balanced, so this ']' bracket is ignored] subgroup will be matched recursively, ((2 + 2)*2)^2 will also match the outer group '(2 + 2)*2'. A second invocation will match the inner group '2+2'.

npm install match-recursive

Usage examples

var matchRecursive = require("match-recursive");
 
matchRecursive("test    ",      "(...)");     // returns:   []
matchRecursive("(t(e)s)()t",    "(...)");     // returns:   ["t(e)s", ""]
matchRecursive("t<e>>st",       "<...>");     // returns:   ["e"]
matchRecursive("t<<e>st",       "<...>");     // returns:   ["e"]
matchRecursive("t<<e>>st",      "<...>");     // returns:   ["<e>"]
matchRecursive("<|t<e<|s|>t|>", "<|...|>");   // returns: ["t<e<|s|>t"]

Package Sidebar

Install

npm i match-recursive

Weekly Downloads

111

Version

0.1.1

License

MIT

Last publish

Collaborators

  • jbnicolai