我有一个字符串,我需要验证其有效性,以前者,如果:净正则表达式逗号分隔字符串,其严格的格式
- 这完全是空的
- 或者包含逗号分隔的字符串,必须如下所示:'abc,def,ghi,jkl'。
这些逗号分隔值有多少并不重要,但是如果字符串不是空的,它必须坚持逗号(且只有逗号)分隔的格式,而且它们周围没有空格,并且每个值可能只包含ascii az/Az ..没有特殊字符或任何东西。
我将如何验证字符串是否遵守规则,或不?
我有一个字符串,我需要验证其有效性,以前者,如果:净正则表达式逗号分隔字符串,其严格的格式
这些逗号分隔值有多少并不重要,但是如果字符串不是空的,它必须坚持逗号(且只有逗号)分隔的格式,而且它们周围没有空格,并且每个值可能只包含ascii az/Az ..没有特殊字符或任何东西。
我将如何验证字符串是否遵守规则,或不?
你可以使用这个表达式
^([a-zA-Z]+(,[a-zA-Z]+)*)?$
或
^(?!,)(,?[a-zA-Z])*$
^
是字符串
[a-zA-Z]
的开始是一个字符类匹配一个大写或 lowerca SE字母
+
是量词,其前面的字符或组1匹配多次
*
是其前面的字符或组0匹配量词多次
?
是量词与前面的字符或组相匹配0或1次
$
是字符串
末使用正则表达式考虑不:
bool isOK = str == "" || str.Split(',').All(part => part != "" && part.All(c=> (c>= 'a' && c<='z') || (c>= 'A' && c<='Z')));
我希望我能+2您抽出宝贵的时间来解释每个令牌。 :) – 2013-04-06 11:45:48
@ChrisSinclair谢谢克里斯... – Anirudha 2013-04-06 15:28:22
Woohoo - 谢谢 - 很多 - @The_Land_Of_Devils_SriLanka!特别是对于伟大的,很好的解释! – 2013-04-06 22:33:46