// 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*)=(\".*?\"|\S*)"#).unwrap();
let string = "Message meets Alert condition
date=2020-08-20 time=00:33:57 devname=FGT3HD3999906624 devid=FGT3HD3999906624 logid=\"0100032003\" type=\"event\" subtype=\"system\" level=\"information\" vd=\"root\" eventtime=1597847637407862934 tz=\"+1000\" logdesc=\"Admin logout successful\" sn=\"159999794\" user=\"admin\" ui=\"https(10.198.199.105)\" method=\"https\" srcip=10.198.199.105 dstip=192.168.23.254 action=\"logout\" status=\"success\" duration=4843 reason=\"timeout\" msg=\"Administrator admin timed out on https(10.198.199.105)\"
Administrator IT Administrator Ph:";
// 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/