use strict;
my $str = '<a style="display:block;" href="javascript:void(0);" onclick="expandImageRotate ( \'xImage_56362441\',\'http://snpi.dell.com/snp/images/products/large/en-th~370-ACMK/370-ACMK.jpg\',event,this,\'\' );"><img id="xImage_56362441_sm_Image" border="0" alt="Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC" title="Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC" width="200" src="http://snpi.dell.com/snp/images/products/mlrg/en-th~370-ACMK/370-ACMK.jpg" z></a>
</span></td></tr>
<tr><td colspan="2" style="padding: 15px 0px 5px 0px"><table cellpadding="4" cellspacing="0" align="center" border="0"><tr class="thumbnailRow"><td align="center"><table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><img src="http://i.dell.com/images/global/brand/ui/top_left_small.gif" width="3" height="3"></td>
<td width="100%"><img src="http://i.dell.com/images/global/brand/ui/top_horiz_small.gif" width="100%" height="3" border="0"></td>
<td class="rightAlign"><img src="http://i.dell.com/images/global/brand/ui/top_right_small.gif" width="3" height="3"></td>
</tr>
<tr>
<td class="leftVertSmall"></td>
<td><span style="display:inline-block;width:40px;">
<script type="text/javascript">
RegisterImage(\'original_image\', \'http://snpi.dell.com/snp/images/products/mlrg/en-th~370-ACMK/370-ACMK.jpg\', \'http://snpi.dell.com/snp/images/products/large/en-th~370-ACMK/370-ACMK.jpg\', "Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC", \'xImage_18637405\', \'\');
</script><div style="position: absolute; top: 0pt; left: 0pt;" id="xImage_18637405_container"></div>';
my $regex = qr/([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))/ip;
if ( $str =~ /$regex/ ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
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