2012-10-28 215 views
0

我想要一個正則表達式,它接受所有數字,字母和只有特殊字符的連字符( - )。接受數字,字母和連字符的正則表達式

我正在嘗試以下表達式:^\d+$/[-]/[a-z]但它不起作用。我想接受這樣的表達式:

Emp-IN-0000001 

有人可以幫助我嗎?

回答

4

如果它總是這種格式(EMP-IN-0000001),然後使用這個正則表達式:

^[a-zA-Z]+-[a-zA-Z][a-zA-Z]-[0-9]+$ 

,或者,如果你已經擴展正則表達式:

^[a-zA-Z]+-[a-zA-Z]{2}-\d+$ 

時總有七位數,使用此:

^[a-zA-Z]+-[a-zA-Z]{2}-\d{7}$ 

,你甚至可以說:

^Emp-IN-\d{7}$ 

如果它完全是「Emp-IN-」+數字。

順便說一下,這不是C#特有的,只要它們支持正則表達式,就可以使用這些正則表達式和任何語言。

+0

是的,它總是這種格式只有最後2或3位數字會改變,..謝謝! –

1

我真的不明白你試圖用正則表達式,但它實際上是如此簡單:

^[a-zA-Z\d-]+$ 

或者,如果你想允許空字符串:

^[a-zA-Z\d-]*$ 

如果在正則表達式中使用不區分大小寫的修飾符,則可以忽略兩個變體中的a-zA-Z

我建議您閱讀this great tutorial中的一些正則表達式基礎知識。

+0

感謝ü! ..一切工作得很好 –

2

如果你粘粘要按照這個格式EMP-IN-0000001,那麼你可能需要使用正則表達式:

^[a-zA-Z]+-[a-zA-Z]+-\d+$ 
+0

我猜Olaf Dietsche已經打敗你了吧:) –

+0

是的,你是對的,我是這樣一個失敗者,看到他的回答時張貼我的:) –

+0

:)謝謝你的貢獻 –

相關問題