2010-12-10 2 views
1

Мне нужна помощь по регулярному выражению. (Регулярное выражение не мой конек!) Я должен перебирать таблицу и сопрягать строки, которые выглядят следующим образом:.Регулярное выражение для проекта. Номер help

AZP2006-056.03

ABC#### - ### ##

Таким образом, первые три могут быть любой буквой, четырехзначным годом и 3-значным числом с двухзначным знаком.

Может кто-нибудь, пожалуйста, помогите мне с регулярным выражением, чтобы соответствовать этому случаю?

Спасибо!

ответ

1
\w{3}\d{4}-\d{3}\.\d{2} 

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

http://gskinner.com/RegExr/

2
[A-Z]{3}\d{4}-\d{3}\.\d{2} 

Я не уверен, если у вас есть, чтобы избежать дефис - \ d {3}

+0

+1, это тоже работает, и нет, вы не делаете. –

1

Это должно сделать трюк.

\w{3}\d{4}-\d{3}\.\d{2}

0

Я думаю, что это должно работать: [a-zA-Z]{3}[0-9]{4}-[0-9]{3}.[0-9]{2}

0

Я знаю, что это довольно поздно, чтобы ответить на это сейчас, но я обратите внимание, что вы сказали, что 4-значное число после букв должно было быть годом.

Чтобы избежать получить что-то вроде ABC9786-654.43, также было бы хорошо, чтобы подтвердить год, поэтому я хотел бы использовать:

(?#better version - validates year)^[A-Z]{3}(?<year>((19)[0-9]{2})|((20)[01][15]))-\d{3}\.\d{2}$ 
Смежные вопросы