我有一个字符串,我需要验证其有效性,后者是如此:
这些逗号分隔值有多少并不重要,但如果字符串不为空,则必须遵循以逗号(并且只有逗号)分隔的格式,并且它们周围没有空格,并且每个值都可以只包含ascii az / Az ..没有特殊字符或任何东西。
我如何验证字符串是否符合规则?
答案 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')));