簡體   English   中英

.Net Regex for逗號分隔的字符串,格式嚴格

[英].Net Regex for Comma Separated string with a strict format

我有一個字符串,我需要驗證其有效性,后面的情況是:

  • 它是完全空的
  • 或包含一個逗號分隔的字符串,該字符串必須如下所示:'abc,def,ghi,jkl'。

多少個逗號分隔的值無關緊要,但是如果字符串不為空,則它必須遵守逗號分隔的格式(並且只有逗號分隔),並且周圍沒有空格,並且每個值只能包含ascii az / Az ..沒有特殊字符或其他任何內容。

如何驗證字符串是否符合規則?

您可以使用此正則表達式

^([a-zA-Z]+(,[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<='z') || (c>= 'A' && c<='Z')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM