// 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-Z0-9-]+)\.txt:NAME:\s\"module\s\w+\s([0-9/]+)\",\sDESCR:\s\"(.+)\""#).unwrap();
let string = "RMAGPGE-PGBP01-01.txt:NAME: \"module R0\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPGE-PGIG01-01.txt:NAME: \"module R0\", DESCR: \"ASR 903 Route Switch Processor 1, Base Scale, 55Gbps\"
RMAGPGE-PGIG01-01.txt:NAME: \"module R1\", DESCR: \"ASR 903 Route Switch Processor 1, Base Scale, 55Gbps\"
RMAGPUI-PLIG01-01.txt:NAME: \"module R0\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPUI-PLIG01-01.txt:NAME: \"module R1\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPUI-PLMD00-01.txt:NAME: \"module R0\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPUI-PLMD00-01.txt:NAME: \"module R1\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPUI-PLMI00-01.txt:NAME: \"module R0\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGPUI-PLMI00-01.txt:NAME: \"module R1\", DESCR: \"ASR 900 Route Switch Processor 2, Base Scale, 128Gbps\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/RSP0/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/RSP1/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/0/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/0/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/0\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/0/1\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/3\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/4\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/6\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/0/1/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/1/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/1/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/0\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/1/1\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/3\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/6\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/1/1/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/2/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/2/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/0\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/5\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/2/0/7\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/3/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-CGD01-01.txt:NAME: \"module 0/3/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/0\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/5\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-CGD01-01.txt:NAME: \"module mau 0/3/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/RSP0/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/RSP1/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/0/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/0/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/0\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/1\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/0/1\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/0\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/3\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/4\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/0/1/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/1/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/1/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/0\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/1\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module 0/1/1\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/0\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/3\", DESCR: \"10GBASE-ZR SFP+, SMF 80km\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-GDL01-01.txt:NAME: \"module mau 0/1/1/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/RSP0/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/RSP1/CPU0\", DESCR: \"ASR9K Route Switch Processor with 440G/slot Fabric and 12GB\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/0/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/0/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/0\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/1\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/0/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/0/1\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/0\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/2\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/3\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/4\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/5\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/6\", DESCR: \"10GBASE-ER 1550nm SMF 40KM\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/0/1/7\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/1/CPU0\", DESCR: \"160G Modular Linecard, Service Edge Optimized\"
RMAGRJO-MRT01-01.txt:NAME: \"module 0/1/0\", DESCR: \"ASR 9000 8-port 10GE Modular Port Adapter\"
RMAGRJO-MRT01-01.txt:NAME: \"module mau 0/1/0/0\", DESCR: \"10GBASE-LR SFP+ Module for SMF\"
";
// 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/