in reply to Issues With Regex

Another approach:

>perl -wMstrict -le "my $s = 'dsmgt dsmgt_ dsmgt_9 dsmgt99 dsmgt__99 dsmgt_999 ' . 'dsmgt_12_34_56dsmgt_12_34 dsmgt_12'; print qq{'$s'}; ;; my $rx_dsmgt = qr{ (?<! [[:alpha:]]) dsmgt (?: _ \d\d)+ (?! \d) }xms; ;; my @pieces = $s =~ m{ $rx_dsmgt }xmsg; printf qq{'$_' } for @pieces; " 'dsmgt dsmgt_ dsmgt_9 dsmgt99 dsmgt__99 dsmgt_999 dsmgt_12_34_56dsmgt_ +12_34 dsmgt_12' 'dsmgt_12_34_56' 'dsmgt_12_34' 'dsmgt_12'