2012-03-22 2 views
8

Я пытаюсь написать RegEx, который начинается с цифры 0 или ЛЮБОЙ буквы (в основном это не может начинаться с 1-9). Оно также должно быть 13 символовRegEx Начать с буквы или цифры 0

я это, но это не похоже на работу:

"^[0][a-zA-Z]{13}" 
+0

Ваш RegEx переводит «„0“, а затем 13 букв» –

+0

это домашнее задание – gbulmer

+0

@gbulmer это не домашняя работа по изготовлению поиск, который будет..?. выполняйте определенные типы запросов на основе ввода пользователей. – mint

ответ

14

Попробуйте это регулярное выражение вместо:

"^[0a-zA-Z].{12}$" 

[0a-zA-Z] означает «один символ, то есть либо a 0, один из az или один из AZ ".

.{12} означает еще двенадцать символов, какими бы они ни были.

+0

Спасибо за объяснение. Это сработало отлично. У меня было что-то подобное ранее, но не использовалось. {12} и wa используя {13}. – mint

+1

Если бы я хотел, чтобы последние двенадцать были числами, я бы сделал «^^0a-zA-Z] [0-9]. {12} $" '? – mint

+3

@mint ''^[0a-zA-Z] [0-9] {12} $ "' – gbulmer

1

Вы ищете что-то вроде этого:

^[0\w]\S{12}$ 

Это утверждает первый символ должен быть 0 или буквенным символом. Вслед за ним должно быть ровно 12 символов, которые НЕ являются пробелами (это позволяет 0-9, символы и специальные символы). Повторяйте \ S с чем угодно. Например, [0-9 \ w]

Отличная площадка для тестирования регулярных выражений находится по адресу: http://regexpal.com/ Я использую его постоянно тестировать регулярные выражения

Смежные вопросы