use strict;
my $str = 'Gb:2 existing application While comparing with iPhone and Samsung
application we can easily say that iPhone has some extra application and features.
But most of the application in iPhone are now available in Samsung also.
Please look at the below comparison.Gb,8 with application Apple iPhone
8Gb with extra application and features Apple iPhone 4Gb with extra application
and features Samsung Gb-2s with extra application and features Samsung
2Gb with extra application and features';
my $regex = qr~(?i)([0-9]GB|GB)[!@#$%^&*() _,.:]\w+ (?:\w+\s+){1,3}application~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