const regex = /{(if '?{?)?(.*?)_en-us(.*?)}/mg;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('{(if \'?{?)?(.*?)_en-us(.*?)}', 'mg')
const 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}
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions