我有一個工作正則表達式,當用戶只能在文本框中輸入1個單詞時。 但是,如何調整它以允許2,3,4,5個單詞?有時候,我可能需要修改代碼,只允許3個單詞,例如。允許多個單個單詞的正則表達式
這裏是我的正則表達式^([a-zA-Z_\-\.]+)$
我有一個工作正則表達式,當用戶只能在文本框中輸入1個單詞時。 但是,如何調整它以允許2,3,4,5個單詞?有時候,我可能需要修改代碼,只允許3個單詞,例如。允許多個單個單詞的正則表達式
這裏是我的正則表達式^([a-zA-Z_\-\.]+)$
匹配2,3,4,5單個詞
^(\b[a-zA-Z_\-\.]+?\b\s*){2,5}$
匹配2個或4個單詞
^(\b[a-zA-Z_\-\.]+?\b\s*){2}$|^(\b[a-zA-Z_\-\.]+?\b\s*){4}$
or
^((\b[a-zA-Z_\-\.]+?\b\s*){2}|(\b[a-zA-Z_\-\.]+?\b\s*){4})$
但它在測試失敗abc.def
和abc_def
=(它找到兩個單詞\b
與您的詞彙表錯誤的想法[a-zA-Z_\-\.]+
...
好吧,就是這樣。
對於-2,3,4,5-詞語
^([a-zA-Z_\-\.]+[^a-zA-Z_\-\.]+){1,4}[a-zA-Z_\-\.]+$
注意,在端部現在的非字母符號被禁止。
這實際上很奇怪,但如果您設置了確切的單詞數,它也會失敗。例如。只有3個字(或5) - 它匹配1,2和3. [Gskinner/RegExr](http://regexr.com?31s66)。你能解釋一下嗎? – 2012-08-17 11:14:57
regexr.com在我的工作中被打破,我可以提供這樣的測試:[一](http://goo.gl/cu5V0)[two](http://goo.gl/qd0Hw)[三](http: //goo.gl/NfPj1)[four](http://goo.gl/fTrsS0) – daftcoder 2012-08-17 11:36:55
什麼是你的單詞? – Toto 2012-08-17 12:49:23
下面增加了一個新想法。 – daftcoder 2012-08-17 13:32:25