2015-06-30 44 views
0

我有一個要求,我需要驗證輸入字段。 它應該是字母數字字符的後5個字符應該有逗號(,)5個字符後匹配逗號

實施例:

K9,D3,DK,33,KD

[a-zA-Z0-9]{5}[,] 

但後K9 ,它給出了正則表達式模式不匹配

+1

是的,你不會得到它匹配的,因爲'[A-ZA-Z0-9 ]'不包括','。添加[它會工作](https://regex101.com/r/nQ5aF9/2)。另外,不需要轉義','。 –

回答

1

因爲你的正則表達式,「,」逗號必須是正好5個字符。 但是你想每隔一個字符後加一個逗號。

試試這個:

[a-zA-Z0-9,]{5} 

如果它始終是2個字符,然後一個逗號試試這個:

([a-zA-Z0-9]{2},)+ 

這意味着兩個字符後跟一個逗號,可出現一次或多次。

最後但並非最不重要的一個縮短的形式:

(\w{2},)+ 

很好的參考java中解釋的正則表達式:http://www.vogella.com/tutorials/JavaRegularExpressions/article.html

+0

@BalusC你能否在這裏解釋一下爲什麼你改變了我的帖子?我理解你的理由,但其餘的他們沒有得到任何理由,你爲什麼要刪除所有的jsfp代碼來創建正則表達式。 –

+2

問題是關於正則表達式模式,這是普遍的和語言不可知的。 JSF(或任何使用正則表達式的語言/框架/庫)只會給問題/答案增加不相關的噪音。 – BalusC

相關問題