2012-06-06 4 views
-1

я хочу использовать регулярное выражение для этого формата для использования в C#Regex для этого формата

формата, как это:

(EMPnnnRTLnnnn-AAAA или EMPnnnnBBCaaaa-пп) где п означает одно целое число между (0 - 9) и «a» указывает один одиночный алфавит нижнего регистра между (A - Z).

например. EMP0001RTL1489-Azio, EMP9212BBCgqui-02

+0

Я не уверен, что сказать, кроме «тяжелой удачи, напишите свой собственный двигатель регулярных выражений». У вас есть * не * регулярное выражение. Чтобы сделать то, о чем вы говорите, вам нужно будет заменить каждый «n» на '\ d' или' [0-9] '. Вы бы сделали аналогичную вещь для алфавита. Вы когда-нибудь использовали Regex-es? – Crisfole

+0

@gdoron Я пробовал это Regex rx = new Regex ("^ [AZ] {3} [o-9] {4} [AZ] {3} [Az] {3} [a-z0-9] {4 } $ "); но не работает. – swapnil

+1

@swapnil, регулярные выражения чувствительны к регистру, поэтому выражения типа '[o-9]' или '[A-z]' не будут делать то, что вы, кажется, думаете, что они делают. –

ответ

3
Regex r = new Regex(@"EMP(\d{3}RTL\d{4}-[a-z]{4})|\d{4}BBC[a-z]-\d{2}"); 

Вы действительно должны научиться использовать свои инструменты, @swapnil - разработка буфера обмена не является хорошей привычкой и плохо для вашей души.

+0

Это нехорошая привычка, но она работает - кто-то всегда дает ответ этим ленивым людям. +1 хотя. – kapa

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