match-recursive
v0.1.1
Published
Recursive regex matching for matching nested constructs
Downloads
568
Maintainers
Readme
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"]