// 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)^(?=\w+\()\w+?\(([\s'!\\\)",\w]+)+\);"#).unwrap();
let string = "_(\"hello\"); // should grab \"hello\"
_('foo\"!\\'bar'); // should grab \"foo\"!\\'bar\"
_t(\"hello\\\"!)' you\"); // should grab \"hello\\\"!)' you\"
_n(\"foo\", \"bar\", 4); // should grab \"foo\" and \"bar\"
_n('foo', 'bar', 4);
{{_ \"hello\" }}
{{_t \"hello\" }}
{{_n \"hello {{ count }}\" \"{{ count }} bar\" count=\"4\" }}
gettext(\"foo\"); // should grab \"foo\"
ngettext(\"bar\", \"baz\", 42); // should grab \"bar\" and \"baz\"
dgettext(domain, \"bux\"); // should grab \"bux\"
_( \"bar\" );
_n( \"baz\", \"bux\", 42);";
// 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/