[\w\-]+ == [\w-]+
А вот [a-z]+ не эквивалентно [a\-z]+
Дефис в символьной маске может обозначать диапазон символов. А может и не означать - если стоит в начале или конце маски. Потому, несмотря на то, что это спецсимвол, экранировать его не требуется. Я бы советовал экранировать - акцентировать внимание, что нужен именно символ "-".