[英]Regex to match exactly one comma separeted strings
例子:
src: anyword, anyword, anyword
我想檢查src
是否只包含one comma
分隔的字符串,如示例中給出的
我寫了(.[^\\s*]+,.*[^,\\s*]+$)
但這在某些情況下失敗了
對我來說,以下場景無效
src: abc, ,1232
src: ,abc, dasf
您可以使用
: *[^\s,]+(?:, *[^,\s]+)*$
或者,允許更多的空格而不僅僅是單詞之間的空格:
:[^\S\n\v\f\r\u2028\u2029]*[^\s,]+(?:,[^\S\n\v\f\r\u2028\u2029]*[^,\s]+)*$
查看正則表達式演示
如果從字符串的開頭到冒號必須有 1+ 個非冒號字符,則可以在上述模式之前添加^[^:]+
。
細節
^
- 字符串的開始[^:]+
- 1+ 個字符,除了:
:
- 一個冒號[^\\S\\n\\v\\f\\r\
\
]*
- 僅出現 0 次或多次水平空格[^\\s,]+
- 出現 1 次或多次除空格和逗號以外的字符(?:,[^\\S\\n\\v\\f\\r\
\
]*[^,\\s]+)*
- 0 次或多次出現
,
- 逗號[^\\S\\n\\v\\f\\r\
\
]*
- 僅出現 0 次或多次水平空格[^\\s,]+
- 出現 1 次或多次除空格和逗號以外的字符$
- 字符串的結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.