2013-03-29 148 views
0

我想強制用戶在符合確切模式的文本框中寫入數據。這些數據是可能爲空,因此我需要的是一個數據庫列:正則表達式匹配文字逗號文字逗號文字..模式

A,B,C,D,Z,E...Y 

什麼必須牢記 - 備案的可爲空,所以第一個字符可以是文字或沒有。在第一個字符之後,我可能會或可能不會有逗號(取決於是否有更多的文字),但如果有它只有一個。在此之後,我可以接受多個Literal comma插入,但文本mus與字面再次結束。我想所有這些都可以從上面的示例模式看到,但只是想說清楚。

這裏是我的嘗試:

string RegExPattern = @"^[A-Z]?,?[A-Z],*[A-Z]" 

這可悲的是不工作。

+0

爲什麼不使用'string.Split'?看起來更簡單,而且我認爲執行速度比正則表達更快...... – ppetrov

回答

4

第一個參數後,將逗號和參數放在一起,並將中繼器應用於它們。不要忘記$匹配字符串的末尾。

string RegExPattern = @"^[A-Z]?(,[A-Z])*$" 
+0

完美,這是如此簡潔:-) – chris

+0

哦,謝謝。這是一個美麗。 – Leron

+2

哦,等等......這不符合:「,A,B,C」? – chris

相關問題