[英]How to write regex to verify a comma delimited list of values
我正在使用SobiPro,一個joomla的目錄系統,我有一個字段,其值只包含字母數字和連字符,所以這個文本字段中可能包含的示例如下:
玩具風箏,塑料輪,單向小玩意,金屬線軸,3M線束
這個正則表達式將驗證它們在字段保存之前在表單上輸入的內容。
我想這個:(\\ w +)(,\\ s * \\ w +)*
但顯然我不對,它沒有考慮連字符..任何幫助! 謝謝!
試試這個:
^[-\w\s]+(?:,[-\w\s]*)*$
使用^
和$
可確保我們驗證整個值,而不只是在其中找到匹配項。
第一個字符類[-\\w\\s]+
允許使用一個或多個字母數字,空格或短划線字符。 破折號應該在類括號中排在第一位。
第二組允許零次或多次重復以分隔逗號。 它包含在非捕獲括號中,一個小的性能優化: (?: … )*
筆記:
A,B,,D
。 如果您不想允許此操作,請將倒數第二個*
更改為+
。 \\w
簡寫允許下划線。 為防止這種情況,請用A-Za-z0-9
替換它們。 試試這個:
[-\w\s]+(,[-\w\s]+)*
[-\\w\\s]
表示單詞字符,空格或連字符。
單詞字符通常包含_
,因此如果要防止這種情況,您可能希望將其替換為A-Za-z0-9
。
[-A-Za-z0-9\s]+(,[-A-Za-z0-9\s]+)*
使用字符類。
^([0-9A-Za-z -]+)(,[0-9A-Za-z -]+)*$
請注意\\w
包含下划線,這就是我將其擴展到字母數字范圍的原因。
感謝@Jay指出丟失的錨點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.