in reply to Regex isn't performing like I think it should

.+ is greedy. It's so greedy, it matches to the end of the string. Then the regex backtracks until it can match a left angle brace, and finally matches the rest of the regex. (In fact, all of your quantifiers are greedy. You're just fortunate that you provided a negated character class to avoid the trouble.)