^ [a-z _-] + $
^ Начать сопоставление с начала строки [] Сопоставить с этим набором шаблонов az Строчные буквы _- Подчеркивание и дефис + Сопоставление 1 или более предыдущий набор $ Конечное совпадение в конце
За счет привязки сопоставления с шаблоном между ^ и $ вы избежите появления нежелательных символов в середине без необходимости выполнять какие-либо дополнительные действия-i sh например: взгляд вперед , смотреть за. MDN имеет хорошее описание, краткий справочник MSDN тоже хорош. Одно предостережение заключается в том, что грамматики регулярных выражений в основном имеют сходство, но могут быть специфичными для языка c, поэтому обратитесь к документации по языку реализации.