Watch out! '+?' isn't the same as '*' in a regexp. If you want zero or more, you want '*'. '+?' will only match if there is one or more, but will match non-greedily (that is, as few characters as possible).
Comment on Re^3: Regex triggering uninitialised values