我試圖創建一個正則表達式,它接受: 一個空字符串,一個整數或多個用逗號分隔的整數,但不能有逗號和開始和結尾。正則表達式:逗號分隔的整數
我設法找到這一點,但我不能undertsand如何刪除位數限制
^\d{1,10}([,]\d{10})*$
我試圖創建一個正則表達式,它接受: 一個空字符串,一個整數或多個用逗號分隔的整數,但不能有逗號和開始和結尾。正則表達式:逗號分隔的整數
我設法找到這一點,但我不能undertsand如何刪除位數限制
^\d{1,10}([,]\d{10})*$
您發佈仍然事情需要至少1的整數,所以它不會匹配一個空字符串:
這裏是你需要的東西:
^(\d+(,\d+)*)?$
闡釋:
'?'
所以以匹配空字符串。'\d+'.
也就是說1個或多個數字字符('0'-'9')
',\d+'
括號,並把一個星號之後。 3a。裏面的意思是以','開始,然後是整數。 3b。星號表示在括號內重複0次或更多次。亨奇整件事是either an empty string or start with an integer then repeat zero or more times a string which starts with a comma and ends with an integer
{1,10}
和{10}
的範圍。您可以用+
替換它們以獲得無限正面效果。例如:
^\d+([,]\d+)*$
你可以忽略逗號周圍的方括號。 – 2010-05-27 13:25:23
你說得對。 – troelskn 2010-05-27 15:02:30
嘗試以下操作:
^(\d+(,\d+)*)?$
謝謝你:) – 2010-05-27 13:40:20
注意'[,]'相當於','你可能打算寫'([,] \ d {1,10})*'而不是'([,] \ d {10})*'。 – 2010-05-27 13:29:01