2012-06-06 64 views
-1

我想使用正則表達式此格式中使用C#正則表達式這種格式

格式是這樣的:

(EMPnnnRTLnnnn-AAAA或EMPnnnnBBCaaaa-NN),其中n 表示之間的單個數字(0 - 9)和「a」指定(A - Z)之間的單個小寫字母表 。

例如 EMP0001RTL1489-的Azio,EMP9212BBCgqui-02

+0

我不確定除了「艱難的運氣,編寫自己的正則表達式引擎」之外還有什麼可說的。你有*不是正則表達式。要做你正在談論的事情,你需要用'\ d'或'[0-9]'替換每個'n'。你會爲字母表做類似的事情。你以前使用過Regex-es嗎? – Crisfole

+0

@gdoron我試過這個正則表達式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