// 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"(?s)(?:To:|(?!^)\G).*?<([^>]*)>(?=.*Message-ID)").unwrap();
let string = "Content-Type: application/ms-tnef; name=\"winmail.dat\"
Content-Transfer-Encoding: binary
From: ABC aa DDD <aaaa.b@abc.com>
To: DDDDD dd <sssss.r@abc.com>
CC: Rrrrr rrede <sssss.rv@abc.com>, Dsssssf V R
<dsdsdsds.vr@abc.com>, Psssss A <pssss.a@abc.com>, Logistics
<LOGISTICS@abc.com>, Gssss Bsss P <gdfddd.p@abc.com>
Subject: RE: [MyApps] (PRO-34604) PR for Additional Monitor allocation [CITS
Ticket:258849]
Thread-Topic: [MyApps] (PRO-34604) PR for Additional Monitor allocation
[CITS Ticket:258849]
Thread-Index: AQHRXMJHE6KqCFxKBEieNqGhdNy7Pp8XHc0A
Date: Mon, 1 Feb 2016 17:56:17 +0530
Message-ID: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>
References: <JA.101.1453963700000@myapps.abc.com>
<JA.101.1453963700000.978.1454311765375@myapps.abc.com>
In-Reply-To: <JIRA.450101.1453963700000.978.1454311765375@myapps.abc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>
MIME-Version: 1.0
X-MS-Exchange-Organization-AuthSource: TURWINSRVRPS01.abc.com
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-Originating-IP: [1.1.1.7]";
// 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/