Вы действительно можете сопоставить все эти символы, но безопаснее экранировать -
, чтобы было ясно, что его следует понимать буквально.
Если вы используете POSIX вариант , вы можете выбрать:
([[:alnum:]\-_]+)
Но так как вы включаете подчеркивание, я бы просто использовал:
([\w\-]+)
(работает во всех вариантах)