// 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)\s*(?P<IP>(\d{1,3}\.?){4})\s+(?P<MAC>\S+)\s+(?P<TYPE>\w+)").unwrap();
let string = "Интерфейс: 192.168.0.4 --- 0x8
адрес в Интернете Физический адрес Тип
192.168.0.1 34-e0-cf-64-9e-68 динамический
192.168.0.7 38-d5-47-17-5f-23 динамический
192.168.0.255 ff-ff-ff-ff-ff-ff статический
224.0.0.22 01-00-5e-00-00-16 статический
224.0.0.251 01-00-5e-00-00-fb статический
224.0.0.252 01-00-5e-00-00-fc статический
239.255.255.250 01-00-5e-7f-ff-fa статический
255.255.255.255 ff-ff-ff-ff-ff-ff статический";
// 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/