Express 2.5.9 using app.all(string, function).
incorrectly compiles to:
The plus operator should be applied to only (y|z), but the operator applies to x(y|z) in its entirety.
ah - yeah that's from the non-greedy paren match. i dont think you can express balanced matches with js regexps, we would have to fiddle with the string
I found that wrapping the inner matching group and plus operator with another set of parenthesis fixes it (sorta). I'd love to take a stab at fixing it. Off the top of your head...any idea where I the offending code would be?
it's in the utils.js file, there's a method that converts a string to a regexp
I hacked a parser together and some tests: http://jsfiddle.net/musicisair/PdaHh/
It's a hideous "solution" and probably insanely slow, but it passes the tests.
I don't have time to optimize it ... but if someone wants to for me please feel free. :-)