Regex, соответствующий альфа-символу, за которым следуют 4 алфавитномера

Мне нужно регулярное выражение для следующего шаблона:

  • Всего 5 символов (альфа и числовые, ничего больше).

  • первый символ должен быть буквой (A, B или C)

  • остальные 4 символа могут быть числом или буквой.

Clarifcation: первая буква может быть только A, B или C.

Примеры:

  • A1234 действительно
  • D1234 недействителен

Ответы

Ответ 1

EDIT: Grrr... отредактированное регулярное выражение из-за нового "разъяснения":)

^[A-C][a-zA-Z0-9]{4}$

EDIT: Чтобы объяснить вышеупомянутое Regex на английском языке...

^ и $ означают "От начала до конца" (это гарантирует, что целая строка должна идеально соответствовать)

[A-C] означает "Соответствует либо A, B, либо C"

[a-zA-Z0-9]{4} означает "Матч 4 строчные буквы, буквы верхнего регистра или цифры"

Ответ 2

Что-то по строкам:

[A-C][A-Za-z0-9]{4}

Я бы посоветовал взглянуть на http://regexlib.com/CheatSheet.aspx, если вы не знакомы с регулярными выражениями и сами пытаетесь делать подобные простые регулярные выражения.

Существует также множество онлайн-приложений для тестирования регулярных выражений, таких как http://regexlib.com/RETester.aspx, которые позволяют тестировать ваши регулярные выражения без написания кода.

Ответ 3

Вы имеете в виду, что первая буква должна быть A, B или C? Или это может быть любая буква?

Если это должен быть A, B или C (чувствительный к регистру), то это будет регулярное выражение.

[A-C][a-zA-Z0-9]{4}

В противном случае, другие ответы здесь достаточно.

Ответ 4

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

^[A-C]\w{4}$

\ w означает любой альфа-цифровой символ.

Ответ 5

В случае, если речь идет не о регулярных выражениях Perl, о которых идет речь, требуется несколько вырезать-вставить:

[ABC][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]

Я вырезал и вставлял "[a-zA-Z0-9]" четыре раза.

Ответ 6

/[ABC](?i:[a-z0-9]{4})/

Ответ 7

Попробуйте следующее:

\<[ABC]\([a-zA-Z0-9]{4}\)\>