Я знаю, как это сделать, если перебрать все символы в строке, но я ищу более элегантный метод.
используйте регулярное выражение и посмотрите, соответствует ли оно!
([a-z][A-Z][0-9]\_\-)*