in reply to Regexp::Common not so common?

You can't concatenate regexp the way you did, but you can look for repetitions. Since you're looking for matching parenthesis, you need non-greedy quantifiers. I would use something of this sort (unless you have a specific reason to concatenate them as you did):
#!/usr/bin/perl use strict; use warnings; my $test = "I am here {there} and {everywhere} but not below and above +"; print "$test\n"; $_ = $test; if (/\{(.*?)\}(.*)\{(.*?)\}/) { print "Success $1 $3\n"; }