2013-10-06 50 views
1

我有一些正則表達式的長度問題集長度的協議是,這個正則表達式:一個特殊的正則表達式

^[A-Za-z][A-Za-z0-9]*(?:[_ .][A-Za-z0-9]+)*$ 

應該只接受字符串,如:

[str][White space or . or _][str][White space or . or _][str]...[str] 

[空格或。或_]:不應以相同的順序重複。

我的問題是如何限制滿弦的長度爲{6,12}之間,我試着用:

^[[A-Za-z][A-Za-z0-9]*(?:[_ .][A-Za-z0-9]+)*]{6,12}$ 

但它並不能很好的工作它導致的重複[白空間或。或_]旁邊允許他們在字符串的邊緣。

此致敬禮。

+1

爲什麼不簡單測試'input.size()'? –

+0

我知道,但我正在努力掌握正則表達式! –

回答

2

您可以使用一個超前的這個:

^(?=.{6,12}$)[A-Za-z][A-Za-z0-9]*(?:[_ .][A-Za-z0-9]+)*$ 
^^^^^^^^^^^^ 

確保今後的比賽是長6到12個字符之間。

+0

感謝哥們完美無缺! –