in reply to match if last char and first char are different excluding certain chars

Update: Ignore this. I didn't look at the example (or comments) in the code.

Got a few more examples?

> $in = '423RY75Y69827EC67592C78657N965R';; > ( $out = $in ) =~ s[((\D)[0-9N]+\2)][_$1_]g;; > print $out;; 423R_Y75Y_69827E_C67592C_78657N965R

Update2: This appears to do it, but it may be dependant upon specifics of the single example?

> $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

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.