2013-03-29 107 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

相关问题