// 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)"(?:[Aa]uthor[s]?|[Jj]ournalist|[Pp]erson)":(?:{(?:[^}[]+)?"name[s]?":\[?(?:"name":)?"|")([^"\\]+)"#).unwrap();
let string = "\"author\":\"Lucy Bode\",\"publisher\":{\"name\":\"Channel Void\"
\"author\":{\"name\":\"Lucy Bode\"},\"publisher\":{\"name\":\"Channel Void\"
\"author\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"author\":{\"names\":[\"name\":\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"author\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"journalist\":\"Lucy Bode\",\"publisher\":{\"name\":\"Channel Void\"
\"journalist\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"journalist\":{\"names\":[\"name\":\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"journalist\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"authors\":\"Lucy Bode\",\"publisher\":{\"name\":\"Channel Void\"
\"authors\":{\"name\":\"Lucy Bode\"},\"publisher\":{\"name\":\"Channel Void\"
\"authors\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"authors\":{\"names\":[\"name\":\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"authors\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"person\":{\"name\":\"Lucy Bode\"},\"publisher\":{\"name\":\"Channel Void\"
\"person\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"person\":{\"names\":[\"name\":\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"person\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"Person\":{\"name\":\"Lucy Bode\"},\"publisher\":{\"name\":\"Channel Void\"
\"Person\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"Person\":{\"names\":[\"name\":\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"Person\":{\"names\":[\"Lucy Bode\"]},\"publisher\":{\"name\":\"Channel Void\"
\"author\":{\"@type\":\"Person\",\"name\":\"Lucy Bode\"}
\"image\":{\"@type\":\"ImageObject\",\"url\":\"https://static.nationalgeographic.co.uk/files/styles/image_3200/public/rewilding-redonda.jpg?w=1900&h=1267\",\"width\":1900,\"height\":1267,\"author\":{\"@type\":\"Person\",\"name\":\"Ed Marshall, Redonda Restoration Programme\"},";
// 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/