正则表达式以逗号验证字符

时间:2014-06-12 11:06:16

标签: c# regex match comma

它应该验证这样的东西:

a,b,c,d,1,2,3,w,f,x,-,=,d

只接受一个字符,接下来是逗号。

错误示例:

adc,1,2,345,flos 

我想到了这个:

@"([*{1}]+[,{1}])+"

但这不起作用。

3 个答案:

答案 0 :(得分:3)

试试^[^,](,[^,])*$。结构如下:

  1. 单个非逗号字符:[^,]
  2. 任意多次逗号后跟非逗号字符:(,[^,])*
  3. 如果你想匹配一个空字符串,你应该使整个表达式可选:

    ^([^,](,[^,])*)?$

答案 1 :(得分:0)

如果你想从允许的char with comma中找到任何一个组,那么这个方法就是这个

(a|b|c|d|1|2|3|w|f|x|\-|\=)\,

答案 2 :(得分:0)

它给你你想要的东西:

bool isMatched = IsValid("adc,1,2,345,flos");   

    private bool IsValid(string value)
    {
            return Regex.IsMatch(value, @"^([^,](,[^,])*)?$");
    }