2013-10-09 50 views
0

我想爲一個字符串正則表達式,可以有4到6個位數,並用逗號將它們分開這已經是這個正則表達式來完成:用逗號和數字的正則表達式

@"^(\d{1,6},{1})+$" 

什麼我不「不想被末處的逗號

這個現有的正則表達式工程類型的字符串:0234,23544,234332,

我想爲下面的字符串正則表達式:0234,23544,234332。

+1

您似乎是在最後一個句號? –

+1

當然你想'{4,6}'而不是'{1,6}'? – musefan

+0

您能顯示有效和無效的字符串嗎? – Toto

回答

1

^\d{1,6}(,\d{1,6})*$應該做的工作。如果您想在組中使用4-6位數字,請用{4,6}替換{1,6}

+1

這是正確的正則表達式,假設在字符串結尾的時間段不應該在那裏。 – sQVe

+0

你可以在正則表達式'\。?''' – Toto

1

試試這個正則表達式

^\d{1,6}(,\d{1,6})*(\.)?$ 
+0

它將匹配字符串末尾的逗號。 – Toto

+0

OP作品最後有一個逗號,如果你注意到 – iJade

+1

但他說:「我不想要的是最後的逗號」 – Toto

2

我還是不清楚的()在年底或不

/^\d{1,6},+\d+$/將匹配任何字符串作爲不願與, or .

Demo and Regex Explained

+1

的末尾添加一個選項點。哦,親愛的,你的模式匹配'0234 {,,, {},23544'。請詳細瞭解'[]'操作員。 –

+0

現在好多了,雖然不完美:) –

+0

@羅曼扎瓦洛夫會這樣做,並感謝這[]永遠學到了。 – Rex

1

結束我會建議

(\d{4,6}[,|\.]) 

如果您匹配'全球'例如所有出現,你會得到這樣的:

0234, 
23544, 
234332. 
0234, 
23544, 
234332, 

看看here

對Perl這將是

m/(\d{4,6}[,|\.])/g