регулярное выражение для имен пользователей

Я пытаюсь понять, как настроить выражение регулярного выражения при выполнении следующих требований.

  • Должен состоять как минимум из двух символов, которые являются буквенными символами a-zA-Z
  • Должен состоять только из ОДНОГО подчеркивания или тире, разрешенных в любом месте ПОСЛЕ первой проверки, тире / подчеркивание не может быть в конце, поскольку применяется то же правило в качестве первого шага
  • Должны быть буквенно-цифровые символы.

По сути, хорошим примером является

Допустимые имена пользователей

  • myusername_09
  • username-09
  • bw-09

Недопустимые имена пользователей

  • bw 09
  • bw - 09
  • bw_ -09
  • username__09

Если вам нужна помощь, это то, что у меня было, но это не работает для меня так, как я хочу.

^(?=[A-Za-z0-9])(?!.*[_-]{2})[A-Za-z0-9_-]+$
5
задан John Farrell 13 November 2010 в 05:34
поделиться