use strict;
my $str = '{exp:channel:entries channel="" url_title="doors" limit="1"}
{exp:playa:children field="video_slider" var_prefix="videoslider"}
{if {videoslider:total_results} != \'0\'}
{if {videoslider:count}==\'1\'}
{if \'{video_slider_title_en-us}\'!=\'NULL\'}
{video_slider_title_en-us}
{if:else}
Videos
{/if}
{/if}
{if video_thumb != \'\'}
{if:else}
{exp:url_tube:thumbnail src="{videoslider:video_file}" width="334" height="150"}
{/if}
{if video_thumb_title != \'\'}
{video_thumb_title}
{if:else}
{videoslider:title}
{/if}
{if {videoslider:count}=={videoslider:total_results}}
{/if}
{/exp:playa:children}
{/exp:channel:entries}
';
my $regex = qr/{(if '?{?)?(.*?)_en-us(.*?)}/mp;
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