// 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#"(".*?"|(?<=:)[^"][0-9]*[^"{}\[\],])|[{}:\[\],]"#).unwrap();
let string = "[
{
\"JourneyCode\": \"TXT123AP3CL700036\",
\"CONDITION\": \"Running Late\",
\"earliestarrivalDate\": \"2017-09-01T14:03:00.001Z\",
\"allowedconcessions\": [
{
\"concessionname\": \"free champagne\",
\"concessioncode\": \"Bolli-911\",
\"activationState\": \"corkpopped\",
\"expirydate\": \"2016-09-01T09:12:33.001Z\"
}
],
\"passenger\": {
\"email\": \"user@example.com\",
\"firstName\": \"John\",
\"surname\": \"Doe\",
\"phone\": 1234567890,
\"language\": \"en-GB\",
\"adress\": {
\"street1\": \"10 Rue Morgue\",
\"street2\": \"string\",
\"street3\": \"string\",
\"countyOrState\": \"Champagne\",
\"city\": \"Epernay\",
\"zip\": 123456,
\"country\": \"France\"
}
},
\"ticket\": {
\"Number\":\"StarGla2Ber9ffh46438\",
\"JourneyCode\": \"TXT123AP3CL700036\",
\"class\": \"premium\",
\"subclass\": \"HandleWithCare\",
\"franchise\": \"Eurostar\",
}
}
]
";
// 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/