i suck at regexp, but is `(.+?)` not the same as `(.*)`? or what does the question mark in the first group do?

are you sure things work correctly when we have brackets in a parent node as well? i think they should though.