// 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)(?ms)EventCode=(4624|4634|4625)\s+.*\.adm").unwrap();
let string = "03/08/2024 04:19:49 PM
LogName=Security
EventCode=4634
EventType=0
ComputerName=XXX
SourceName=Microsoft Windows security auditing.
Type=Information
RecordNumber=XXX
Keywords=Audit Success
TaskCategory=Logoff
OpCode=Info
Message=An account was logged off.
Subject:
Security ID: DOMINIO\\user.adm
Account Name: utente
Account Domain: AMADORI
Logon ID: XXX
Logon Type: 3
This event is generated when a logon session is destroyed. It may be positively correlated with a logon event using the Logon ID value. Logon IDs are only unique between reboots on the same computer.";
// 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/