// 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)^(drv:\d+)(?:[\s\S]+?(?:Name|Serial|Port):.*$){3}\n\h*(\[[^\]]+?])").unwrap();
let string = "HDClone 6 Enterprise Edition
Serial: 1111111111
Miray Software AG
Gaissacher Str. 18
81371 Munich
Germany
Detecting drives.
drv:0 Name: WDC WD40EZRZ-00WN9B0 (4,000,754 MB)
Serial: WD-WCC4E0ESU7YK
Port: 0/1/1/0
[ -, M:, X: ]
To specify this drive, use the following parameters:
-srcdrv:/-dstdrv:0
-srcdrvn:/-dstdrvn:\"WDC WD40EZRZ-00WN9B0\"
-srcdrvn:/-dstdrvn:\"WDC WD40EZRZ-00WN9B0WD-WCC4E0ESU7YK\"
-srvdrvp:/-dstdrvp:0/1/1/0
drv:1 Name: ST2000DM001-1CH164 (2,000,399 MB)
Serial: S1E1GA0V
Port: 0/1/1/1
[ S:, T: ]
To specify this drive, use the following parameters:
-srcdrv:/-dstdrv:1
-srcdrvn:/-dstdrvn:ST2000DM001-1CH164
-srcdrvn:/-dstdrvn:ST2000DM001-1CH164S1E1GA0V
-srvdrvp:/-dstdrvp:0/1/1/1
drv:2 Name: ST2000DM001-1CH164 (2,000,399 MB)
Serial: S1E1GC0Z
Port: 0/0/0/1
[ B:, P: ]
To specify this drive, use the following parameters:
-srcdrv:/-dstdrv:2
-srcdrvn:/-dstdrvn:ST2000DM001-1CH164
-srcdrvn:/-dstdrvn:ST2000DM001-1CH164S1E1GC0Z
-srvdrvp:/-dstdrvp:0/0/0/1
drv:3 Name: WDC WD10EADS-11M2B2 (1,000,205 MB)
Serial: WD-WCAV5D430071
Port: 0/0/2/0
[ -, V: ]
To specify this drive, use the following parameters:
-srcdrv:/-dstdrv:3
-srcdrvn:/-dstdrvn:\"WDC WD10EADS-11M2B2\"
-srcdrvn:/-dstdrvn:\"WDC WD10EADS-11M2B2WD-WCAV5D430071\"
-srvdrvp:/-dstdrvp:0/0/2/0
drv:4 Name: KINGSTON SMS200S360G (60,023 MB)
Serial: 50026B72440A6EE7
Port: 0/1/3/0
[ C: ]
To specify this drive, use the following parameters:
-srcdrv:/-dstdrv:4
-srcdrvn:/-dstdrvn:\"KINGSTON SMS200S360G\"
-srcdrvn:/-dstdrvn:\"KINGSTON SMS200S360G50026B72440A6EE7\"
-srvdrvp:/-dstdrvp:0/1/3/0";
let substitution = "";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/