// 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)^(from|to|cc|bcc):.*(?:\R(?!(?:(?1)|$)).*)*").unwrap();
let string = "From support@test.co.uk Wed Nov 20 15:48:00 2013
Return-Path: <support@test.co.uk>
X-Original-To: mailbox@my.domain.com
Delivered-To: mailbox@my.domain.com
Delivered-To: techinfo@test.co.uk
from: \"Lucy 1\" <support@lucky1.co.uk>,\"Lucy 2\" <support@lucky2.co.uk>,
\"Lucy 3\" <support@lucky3.co.uk>
to: TestTo <techinfo@test.co.uk>
testestest
";
// 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/