簡體   English   中英

正則表達式精確匹配一個逗號分隔的字符串

[英]Regex to match exactly one comma separeted strings

例子:

src: anyword, anyword, anyword

我想檢查src是否只包含one comma分隔的字符串,如示例中給出的

我寫了(.[^\\s*]+,.*[^,\\s*]+$)但這在某些情況下失敗了

對我來說,以下場景無效

src: abc, ,1232
src: ,abc, dasf

演示: https : //regex101.com/r/UyQ5KX/1

您可以使用

: *[^\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.

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