2011-09-21 114 views
3

我想創建一個正則表達式,用戶只需輸入一個單詞或單詞之間有空格,它的長度必須有一個限制[1到32]。正則表達式只接受單詞之間的空格

例如,它應該接受下面的行;

wordX[space]wordX[space][space][space]wordX 

,但它不應該接受的是:

[space]wordXwordX[space]或僅[space]

wordX必須與此正則表達式兼容:

^(([0-9A-Za-z!"#$%'()*+,./:;[email protected]^_`{|}~\\\[\]-]))$ 

回答

1

試試這個:

^(?:\w+\s){0,31}\w+$ 

\w意味着:數字,字母,下劃線

對於嚴格接受字符:

^(?:[\w!"#$%'()*+,./:;[email protected]^_`{|}~\\\[\]]+\s){0,31}[\w!"#$%'()*+,./:;[email protected]^_`{|}~\\\[\]]+$ 

或者:

^(?:\S+\s){0,31}\S+$ 

\S - 任何字符不是空白

更新其他:

如果字長度比1和32之間使用該正則表達式:

^(?:\w{1,31}\s)*\w{1,31}$ 

以相同的方式可以修改其它正則表達式。

+0

謝謝但限制不起作用。我在此頁上測試過: http://tools.netshiftmedia.com/regexlibrary –

+0

@onuR,提供測試數據 –

+0

只需超過32個字符。它接受任何沒有限制的詞。 –

相關問題