// 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"(?sim)(192.168.1.\d{1,3}).*?((\w{2}[:]){5}(\w{2}))").unwrap();
let string = "{
\"34:d2:70:87:42:68;\": [
\"192.168.1.81\",
\"\\\"amazon-8dee0891a\\\";\"
],
\"98:e0:d9:91:bc:71;\": [
\"192.168.1.32\",
\"\\\"Cathys-Air\\\";\"
],
\"88:71:e5:b3:cb:4e;\": [
\"192.168.1.172\",
\"\\\"amazon-205f4e28e\\\";\"
],
\"34:d2:70:7f:df:e7;\": [
\"192.168.1.76\",
\"\\\"amazon-8b38e6c4e\\\";\"
],
\"88:71:e5:a2:ff:66;\": [
\"192.168.1.77\",
\"\\\"amazon-43faa4ef3\\\";\"
],
\"b8:3e:59:f1:73:9f;\": [
\"192.168.1.190\",
\"\\\"Roku\"
],
\"18:b4:30:14:bc:da;\": [
\"192.168.1.179\",
\"\\\"02AA01AC42140DKR\\\";\"
],
\"ac:d1:b8:4d:a3:85;\": [
\"192.168.1.180\",
\"\\\"NPI4DA385\\\";\"
],
\"14:91:82:c9:8b:61;\": [
\"192.168.1.174\",
\"\\\"wemo\\\";\"
],
\"14:91:82:00:d5:35;\": [
\"192.168.1.184\",
\"\\\"wemo\\\";\"
],
\"08:00:27:89:03:db;\": [";
// 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/