use strict;
my $str = 'IF(SEARCH(LEFT([@Title], 3), "CMO") , "Marketing",
IF(SEARCH(LEFT([@Title], 3), "CIO") , "IT",
IF(SEARCH(LEFT([@Title], 3), "CTO") , "IT",
IF(SEARCH(LEFT([@Title], 3), "CRO") , "Sales",
IF(SEARCH(LEFT([@Title], 3), "CPO") , "Product",
IF(SEARCH(LEFT([@Title], 3), "COO") , "Operations",
IF(SEARCH(LEFT([@Title], 3), "CFO") , "Finance",
IF(SEARCH(LEFT([@Title], 3), "CEO") , "Exective",
IF(SEARCH([@Title], "President") , "Exective",
IF(SEARCH([@Title], "Chairman") , "Exective",
IF(SEARCH([@Title], "Social"), "Social" ,
IF(SEARCH([@Title], "Content"), "Content" ,
IF(SEARCH([@Title], "Blog"), "Blog" ,
IF(SEARCH([@Title], "Digital"), "Digital" , ';
my $regex = qr/(\[@Title]), ([^,)]+)/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