C# .Net正则表达式,用于严格格式的逗号分隔字符串

C# .Net正则表达式,用于严格格式的逗号分隔字符串,c#,.net,regex,C#,.net,Regex,我有一个字符串需要验证其有效性,如果: 它完全是空的 或者包含逗号分隔的字符串,该字符串必须如下所示:“abc、def、ghi、jkl” 这些逗号分隔的值有多少并不重要,但如果字符串不是空的,它必须遵循逗号分隔的格式,周围没有空格,并且每个值只能包含ascii a-z/a-z。。没有特殊字符或任何东西 如何验证字符串是否符合规则?您可以使用此正则表达式 ^([a-zA-Z]+(,[a-zA-Z]+)*)?$ 或 ^是字符串的开头 [a-zA-Z]是一个与单个大写字母或小写字母匹配的字符类

我有一个字符串需要验证其有效性,如果:

  • 它完全是空的
  • 或者包含逗号分隔的字符串,该字符串必须如下所示:“abc、def、ghi、jkl”
这些逗号分隔的值有多少并不重要,但如果字符串不是空的,它必须遵循逗号分隔的格式,周围没有空格,并且每个值只能包含ascii a-z/a-z。。没有特殊字符或任何东西

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

您可以使用此正则表达式

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


^
是字符串的开头

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

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

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

是与前面的字符或组匹配的量词0或1次

$
是字符串的结尾

您可以使用此正则表达式

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


^
是字符串的开头

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

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

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

是与前面的字符或组匹配的量词0或1次

$
是字符串的结尾

考虑不使用正则表达式:

bool isOK=str==”| str.Split(“,”).All(part=>part!=”&&part.All(c=>(c>='a'&&c='a'&&c)考虑不使用正则表达式:


bool isOK=str==“str.Split(”,“).All(part=>part!=”&&part.All(c=>(c>='a'&&c='a'&&cI)我希望能多谢你花时间解释每一个标记。:)呜呜-谢谢-非常感谢-恶魔之地-斯利兰卡!特别是伟大的解释!我希望我能+2你花时间解释每一个标记。:)呜呜-谢谢-非常感谢-恶魔之地-斯利兰卡!特别是伟大的解释!