use strict;
my $str = 'Return-path: <Walk-in.Whirlpool.Tubs@familywhitetubin.date>
Envelope-to: jblumberg@menshealthandwellness.org
Delivery-date: Mon, 31 Aug 2015 15:38:19 -0400
Received: from [50.2.8.182] (port=34151 helo=familywhitetubin.date)
by host.menshealthandwellness.org with esmtp (Exim 4.85)
(envelope-from <Walk-in.Whirlpool.Tubs@familywhitetubin.date>)
id 1ZWUuJ-0003hH-6L
for jblumberg@menshealthandwellness.org; Mon, 31 Aug 2015 15:38:19 -0400
Date: Mon, 31 Aug 2015 12:47:39 -0700
Message-ID: <77f581ddf9662409a9e27aaac2f26d74.14325456.20579279@familywhitetubin.date>
From: Walk-in.Whirlpool.Tubs <Walk-in.Whirlpool.Tubs@familywhitetubin.date>
To: <jblumberg@menshealthandwellness.org>
Dvhgo-Wu: 14325456i.20579279nr.o20579279
Content-Type: text/plain
Mime-Version: 1.0
Subject: Enjoy Safe, Comfortable Bathing in your Jacuzzi Walk-In-Bath, Quote: 14325456
Mi-Tdx: 77f581ddf9662409a9e27aaac2f26d74t-20579279br.d14325456
';
my $regex = qr/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/p;
if ( $str =~ /$regex/g ) {
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