可選逗號表達我需要一個正則表達式,其允許數字和可選的逗號,而是整個長度不能大於6經常用於與6個字符的限制
^[0-9]+([,]*[0-9]+)*$
允許號碼和可選的逗號。
^([0-9]+([,]*[0-9]+)*){0,6}$
不限制的總長度爲6
可選逗號表達我需要一個正則表達式,其允許數字和可選的逗號,而是整個長度不能大於6經常用於與6個字符的限制
^[0-9]+([,]*[0-9]+)*$
允許號碼和可選的逗號。
^([0-9]+([,]*[0-9]+)*){0,6}$
不限制的總長度爲6
如果您正則表達式引擎支持向前斷言—大多數人—那麼你可以這樣寫:
^(?=[0-9,]{1,6}$)[0-9]+(,[0-9]+)*$
的(?=[0-9,]{1,6}$)
部分是「積極的前瞻斷言」,並且意味着「從字符串的這一點開始向前看,我看到[0-9,]{1,6}$
」。所以,從本質上講,上述正則表達式是這兩個的組合:
^[0-9,]{1,6}$
^[0-9]+(,[0-9]+)*$
並強制它們兩者。
(這就是說,它很可能是清晰的,如果你只是執行長度限制作爲單獨的步驟,而不是合併上述成一個單一的正則表達式。)
^([\,0-9]{0,6})$
此正則表達式簡單地允許任何字符(逗號,0到9)通過零六次。
如果您需要輸入開始與多家,使用此:
^([0-9]{1}[\,0-9]{0,5})$
一些附加的方式 -
^(?=.{1,6}$)\d+(?:,?\d)*$
^(?=.{1,6}$)\d(?:[,\d]*\d)?$
那是可選的*逗號*(複數)還是隻有一個逗號? – JYelton 2012-03-23 15:03:52
查看一些匹配的示例和其他不匹配的示例會很有幫助。 – Birei 2012-03-23 15:08:23
逗號可以引導和/或拖尾嗎?多個逗號?多個逗號按順序? ',2,3,'會有效嗎? – 2012-03-24 15:52:14