// 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)^msgid ""\r?\n([\s\S]*?)\r?\n(?=^msgstr ""\r?\n?)"#).unwrap();
let string = "#: apps/catalogue/abstract_models.py:206
msgid \"\"
\"Universal Product Code (UPC) is an identifier for a product which is not \"
\"specific to a particular supplier. Eg an ISBN for a book.\"
msgstr \"\"
#: apps/catalogue/abstract_models.py:213
#: templates/oscar/dashboard/catalogue/product_list.html:87
#: templates/oscar/dashboard/catalogue/product_update.html:168
#: templates/oscar/dashboard/catalogue/product_update.html:190
msgid \"Parent\"
msgstr \"والد\"
#: apps/catalogue/abstract_models.py:214
msgid \"\"
\"Only choose a parent product if this is a 'variant' of a canonical \"
\"catalogue. For example if this is a size 4 of a particular t-shirt. Leave \"
\"blank if this is a CANONICAL PRODUCT (ie there is only one version of this \"
\"product).\"
msgstr \"\"";
// 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/