-- (more than 1 consecutive -)? e.g. ab--c- at the back of words not allow, e.g. abc-<
If “-” is not allowed at the beginning nor end of the string, you are searching for a sequence of “one or more alanum, followed by one or more group(s) of one dash followed by 1 or more alanum”
/[0-9A-Z]+(-[0-9A-Z]+)+/
Simple is a valuable motto with regular expressions. (nota : to search small case characters, add them. I didn't for clarity)