$re = '/(?:DHI?-)?(?:IPC|HAC)-HDB?W\d+[A-Z]+\K(?:P-0\d{1,2}|P)/';
$str = '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
';
$subst = "";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php