use strict;
my $str = 'blah blah <a href="test.html">Outside of scope</a> blah blah
<a href="/about/team/management/tony-georgis" class="mfp_thumb_pos_top" itemprop="url"><img src="/images/thumbnails/mod_minifrontpage/43_642_default.jpg" width="400" height="400" alt="Tony Georgis, P.E."></a>
blah blah <a class="test" id="one">Nothing</a> blah blah
';
my $regex = qr/(<a href="([^"]*)"\s*class="(?:[^"]* )?mfp_thumb.*(?: [^"]*)?"[^>]*>\s*([^\s].*?[^\s])\s*<\/a>)/smp;
my $subst = '{modal url="$2"}$3';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html