我有一個字符串,我需要驗證其有效性,以前者,如果:淨正則表達式逗號分隔字符串,其嚴格的格式
- 這完全是空的
- 或者包含逗號分隔的字符串,必須如下所示:'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