// 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"\{\%\s(trans with \{.*\}|trans|transchoice)\s\%\}(.*)\{\%\s(endtrans|endtranschoice)\s\%\}").unwrap();
let string = "{% if estimate_delivery.text is not empty %}
{% if estimate_delivery.day and estimate_delivery.month %}
<strong>{% trans %}Order delivery estimation:{% endtrans %}</strong>
{{ estimate_delivery.day }} {{ estimate_delivery.month | trans }} {{ estimate_delivery.text }} {{ estimate_delivery.interval }}
{% elseif estimate_delivery.text %}
<strong>{% trans %}Order delivery estimation:{% endtrans %}</strong>
{{ estimate_delivery.text }} {{ estimate_delivery.interval }}
{% endif %}
<div class=\"emg-clear\"></div>
{% else %}
{% trans %}No delivery estimate data available.{% endtrans %}
{% endif %}
<div id=\"sameDay\">
<input id=\"same-day-chk\" type=\"checkbox\" name=\"shipping[courier][same_day]\" value=\"1\" class=\"gui-checkbox\" {% if same_day.show == false %}disabled=\"disabled\"{% endif %}>
<label for=\"same-day-chk\" class=\"gui-label\">{% trans with {'%price%': money_format(same_day.price)} %}I want my order shipped today ( only %price%){% endtrans %}</label>
{% if same_day.show != false %}
<strong>{{ same_day.info.message|raw }} <a href=\"#\" data-count=\"{{ same_day.products|length }}\" id=\"sameDayDelivery\">( {{ same_day.products|length }} items )</a></strong>
<div id=\"sameDayDelivery-emgBubble\" class=\"emg-bubble\">
{% for product in same_day.products %}
<div class=\"emg-left\">
<img src=\"{{ product.image }}\" alt=\"\" />
</div>
<div class=\"emg-right\">
{{ product.name }}
</div>
<div class=\"emg-clear\"></div>
{% endfor %}
<div class=\"button\">
<i class=\"icon-i27-round-close\"></i>
</div>
<div class=\"emg-clear\"></div>
</div>
{% endif %}
</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/