// 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"(?:DHI?-)?(?:IPC|HAC)-HDB?W\d+[A-Z]+\K(?:P-0\d{1,2}|P)").unwrap();
let string = "DH-HAC-HDBW3802EP-Z
DH-HAC-HDBW3802EP-ZH
DH-HAC-HDW1000MP-028
DH-HAC-HDW1000RP-028
DH-HAC-HDW1100EMP-02
DH-HAC-HDW1100EMP-03
DH-HAC-HDW1100MP
DH-HAC-HDW1100MP-036
DH-HAC-HDW1100RP-028
DH-HAC-HDW1100RP-VF
DH-HAC-HDW1100AP-028
DH-HAC-HDW1100AP-036
DH-HAC-HDW1100AP
DH-HAC-HDW1100BP-028
DH-HAC-HDW1100BP-036
DH-HAC-HDW1100BP
DH-HAC-HDW1100CP-
DH-HAC-HDW1100DP-036
DH-HAC-HDW1100DP-
DH-HAC-HDW1100EMP-03
DH-HAC-HDW1100EMP-02
DH-HAC-HDW1100EMP-
DH-HAC-HDW1100EP-036
DH-HAC-HDW1100EP-028
DH-HAC-HDW1100EP-03
DH-HAC-HDW1100EP-02
DH-HAC-HDW1100EP-
DH-HAC-HDW1100EP
DH-HAC-HDW1100FP-03
DH-HAC-HDW1100FP-02
DH-HAC-HDW1100FP-
DH-HAC-HDW1100FP
DH-HAC-HDW1100RMP-03
DH-HAC-HDW1100RMP-02
DH-HAC-HDW1100RMP-
DH-HAC-HDW1100RMP
DH-HAC-HDW1100RP-028
DH-HAC-HDW1100RP-036
DH-HAC-HDW1100RP-
DH-HAC-HDW1100RP
DH-HAC-HDW1100SP-036
DH-HAC-HDW1100SP-028
DH-HAC-HDW1100SP-
DH-HAC-HDW1100SP
DH-HAC-HDW1100SLP-03
DH-HAC-HDW1100TP-
DH-HAC-HDW1100MP-036
DH-HAC-HDW1100MP-028
DH-HAC-HDW1100MP
";
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/