> $in = '423RY75Y69827EC67592C78657N965R345U299M';; > ( $out = $in ) =~ s[ ( ( \D ) [0-9N]+ \2 ) | ( [0-9N]+? [A-MO-Z] (?=\d) ) ]{ defined $1 ? "_$1_" : "$3_" }egx; print $out;; 423R_Y75Y_69827E_C67592C_78657N965R_345U_299M