// 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"{{(((?!}}).)*}*}*)}}").unwrap();
let string = "{{for(var i = 0; i < sites.length; i++) { const site = sites[i]; }}
<div class=\"panel panel-default\">
<div class=\"panel-heading\" role=\"tab\">
<h3 class=\"panel-title\">
<a href=\"#{{site.Nom}}\" onclick=\"event.preventDefault(); toggleOuvertureSite('{{site.Nom}}')\" role=\"button\">
{{site.Nom}} <span>({{site.Applications.length}})</span>
</a>
</h3>
</div>
<div class=\"panel-collapse collapse {{if(site.Ouvert){}}in{{}}}\" id=\"{{site.Nom}}\">
<div class=\"panel-body\">
<div class=\"row\">
<div class=\"col-md-6\">
<h4>Chemins virtuels</h4>
{{if(site.Applications.length == 0) {}}
<em>Aucun chemin virtuel</em>
{{} else {}}
{{for(var j = 0; j < site.Applications.length; j++) { const application = site.Applications[j]; }}
<div>{{application.CheminVirtuel}}</div>
{{}}}}
</div>
<div class=\"col-md-6\">
<h4>Liaisons</h4>
<table class=\"table table-condensed\">
{{for(var j = 0; j < site.Liaisons.length; j++) { const liaison = site.Liaisons[j]; }}
<tr class=\"row\">
<th class=\"col-xs-6\">{{liaison.Protocole}}</th>
<td class=\"col-xs-6\">{{liaison.Informations}}</td>
</tr>
{{}}}
</table>
</div>
</div>
</div>
</div>
</div>
{{}}}
";
// 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/