in reply to [regex] matching Perl quoted strings

Instead of the .*? which will take up more processing, you could use negated characters

e.g.
/(\[[^]]*\] | {[^}]*} | \([^)]*\) | <[^>]*>)/