регулярное выражение, соответствующее буквенному символу, за которым следуют 4 буквенно-цифровых символа - PullRequest
21 голосов
/ 02 декабря 2008

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

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

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

  • остальные 4 символа могут быть цифрами или буквами.

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

Примеры:

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

Ответы [ 7 ]

42 голосов
/ 02 декабря 2008

РЕДАКТИРОВАТЬ: Grrr ... отредактировал регулярное выражение из-за нового "уточнения":)

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

РЕДАКТИРОВАТЬ: Чтобы объяснить вышесказанное Regex на английском языке ...

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

[A-C] означает «Совпадение либо A, B, либо C»

[a-zA-Z0-9]{4} означает «Совпадение 4 букв нижнего регистра, букв верхнего регистра или цифр»

6 голосов
/ 02 декабря 2008

Что-то вроде:

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

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

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

2 голосов
/ 02 декабря 2008

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

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

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

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

1 голос
/ 30 июня 2009

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

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

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

0 голосов
/ 18 мая 2009

Попробуйте это:

\<[ABC]\([a-zA-Z0-9]{4}\)\>
0 голосов
/ 02 декабря 2008
/[ABC](?i:[a-z0-9]{4})/
0 голосов
/ 02 декабря 2008

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

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

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

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