【问题标题】:Regular expression to validate chars by comma通过逗号验证字符的正则表达式
【发布时间】:2014-06-12 11:06:15
【问题描述】:

它应该验证这样的东西:

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

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

不好的例子:

adc,1,2,345,flos 

我想到了这个:

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

但这不起作用。

【问题讨论】:

  • 请详细说明
  • 后面加一个字符和逗号?
  • 是否必须成为正则表达式?如果不是,我发现这比任何 RegEx 都清晰:myString.Split(',').Any(x => x.Length > 1)

标签: c# regex match comma


【解决方案1】:

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

  1. 单个非逗号字符:[^,]
  2. 任意多次逗号后跟非逗号字符:(,[^,])*

如果你也想匹配一个空字符串,你应该让整个表达式可选:

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

【讨论】:

    【解决方案2】:

    如果你想从允许的char with comma 中找到任何组,最简单的方法就是这样

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

    【讨论】:

      【解决方案3】:

      我猜它会给你你想要的:

      bool isMatched = IsValid("adc,1,2,345,flos");   
      
          private bool IsValid(string value)
          {
                  return Regex.IsMatch(value, @"^([^,](,[^,])*)?$");
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-28
        • 2012-01-08
        • 2013-08-04
        • 2013-04-14
        • 1970-01-01
        • 2022-01-08
        相关资源
        最近更新 更多