// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"(?m){(if '?{?)?(.*?)_en-us(.*?)}").unwrap();
let string = "{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}
";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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 Rust, please visit: https://docs.rs/regex/latest/regex/