Minha bola de cristal me diz que o que você faz de errado é copiar e colar o código que não entende. Parece que está se sentindo sarcástico hoje, desculpe, eu prometo que vou comprar um novo em breve.
Quanto ao seu problema, é o \<
no seu regexp, que é um construtor especial que corresponde ao início de uma palavra, de modo que nunca pode corresponder à frente de -
, pois as palavras só podem começar com letras adequadas ou dígitos.