// 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#"^\[[a-z-]*\]\s[\w\d\s\-\=\"\.\:\@]+"#).unwrap();
let string = "[access-control]
realm-id = \"name2\"
description = \"Register_to_Bryansk_RTU\"
source-address = \"0.0.0.0\"
destination-address = \"0.0.0.0:5060\"
application-protocol = \"SIP\"
transport-protocol = \"ALL\"
[access-control]
access = \"permit\"
average-rate-limit = \"0\"
trust-level = \"high\"
minimum-reserved-bandwidth = \"0\"
invalid-signal-threshold = \"0\"
maximum-signal-threshold = \"0\"
[access-control]
untrusted-signal-threshold = \"0\"
nat-trust-threshold = \"0\"
max-endpoints-per-nat = \"0\"
nat-invalid-message-threshold = \"0\"
deny-period = \"30\"
cac-failure-threshold = \"0\"
untrust-cac-failure-threshold = \"0\"
[access-control]
last-modified-by = \"admin@0.0.0.0\"
last-modified-date = \"2015-01-22 09:01:19\"
[access-control]
realm-id = \"name\"
description = \"\"
source-address = \"0.0.0.0\"
destination-address = \"0.0.0.0:5060\"
application-protocol = \"SIP\"
transport-protocol = \"ALL\"
access = \"permit\"
average-rate-limit = \"0\"
trust-level = \"high\"
minimum-reserved-bandwidth = \"0\"
invalid-signal-threshold = \"0\"
maximum-signal-threshold = \"0\"
untrusted-signal-threshold = \"0\"
nat-trust-threshold = \"0\"
max-endpoints-per-nat = \"0\"
nat-invalid-message-threshold = \"0\"
deny-period = \"30\"
cac-failure-threshold = \"0\"
untrust-cac-failure-threshold = \"0\"
last-modified-by = \"admin@0.0.0.0\"
last-modified-date = \"2014-10-23 11:26:39\"";
// 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/