我需要驗證串2個基團,其是分離的與一個空間與下一個規則:棘手的正則表達式的驗證
每組需要是至少2個字符的長,但小於或等於15
兩組一起不能超過20個字符長(不包括空間)
組只能包含字母(這是簡單的,它是〔A-ZA-Z])
遵循這些規則,這裏是一些例子
名字姓氏(有效)
Somename T(無效,第二一種是< 2)
Somethingsomettt這裏(無效的,第一個是> 15)
Somethingsome Somethingsome(Invalid,total> 20)
這將會是簡單[a-zA-Z]{2,15} [a-zA-Z]{2,15}
如果不是該2 + 2 < =總< = 20的條件。
是否有可能通過這種方式來限制它?如果是 - 如何?
UPDATE 只是爲了它的緣故,導致正則表達式應該是^(?=[a-zA-Z ]{5,21}$)[a-zA-z]{2,15} [a-zA-Z]{2,15}$
,@vks最接近一個吧。不過,謝謝@popovitsj和@Avinash Raj。
爲什麼不分開中間的空間,並分別驗證兩個部分?這可以讓你輕鬆檢查組合長度。 – ajp15243 2014-09-29 18:43:36
是否有一個原因,你必須使用一個正則表達式來做到這一點? – 2014-09-29 18:44:25
看起來你在第一個字符類('[a-z-A-Z]')中間有一個額外的'-'。 – ajp15243 2014-09-29 18:47:20