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