Fix bad match when multiple closing parens/braces exist

Previously, the PatternParser used a greedy matcher for groups
conversion modifiers (enclosed in parentheses and curly brackets,
respectively), which resulted in unintentional capturing of text.

This patch tweaks the regex patterns to use reluctant matching.