.Net Regex for Comma用严格格式分隔字符串

时间:2013-04-06 11:18:07

标签: c# .net regex

我有一个字符串,我需要验证其有效性,后者是如此:

  • 完全是空的
  • 或者包含逗号分隔的字符串,必须如下所示:'abc,def,ghi,jkl'。

这些逗号分隔值有多少并不重要,但如果字符串不为空,则必须遵循以逗号(并且只有逗号)分隔的格式,并且它们周围没有空格,并且每个值都可以只包含ascii az / Az ..没有特殊字符或任何东西。

我如何验证字符串是否符合规则?

2 个答案:

答案 0 :(得分:8)

您可以使用此正则表达式

^([a-zA-Z]+(,[a-zA-Z]+)*)?$

^(?!,)(,?[a-zA-Z])*$

^是字符串

的开头

[a-zA-Z]是一个匹配单个大写小写字母的字符类

+是一个量词,它匹配前一个字符或组 1到多次

*是一个量词,它匹配前一个字符或组 0到多次

?是一个量词,匹配前一个字符或组 0或1次

$是字符串

的结尾

答案 1 :(得分:1)

使用正则表达式

来考虑 not

bool isOK = str == "" || str.Split(',').All(part => part != "" && part.All(c=> (c>= 'a' && c<='z') || (c>= 'A' && c<='Z')));