2012-10-19 85 views
2

我需要幫助來做這個正則表達式。句子不能少於4個字母,並且不能匹配任何這些詞(test1,test2 and test3)正則表達式:匹配一個單詞和一個長度

我知道如何分別做每一個,但不能在一起。

第一個條件^.{4,}$

第二個條件^((?!test1|test2|test3).)*$

如何做到既讓 -

  1. 「你好」 將通過
  2. 「HEL」 將失敗
  3. 「測試1 「雖然超過4個字母,但會失敗
  4. 「測試2」會失敗,雖然它是超過4個字母長
  5. 「TEST3」會失敗,雖然它是提前超過4個字母長

感謝

回答

5

試試這個:

(?=^.{4,}$)(^((?!test1|test2|test3).)*$) 

或者:

(?=^.{4,}$)(^((?!test(1|2|3)).)*$) 

或者:

(?=^.{4,}$)(^((?!test[1-3]).)*$) 
+0

我用前瞻的技術,超前一號尋求第四大小的字符串,之後我重新它通過使用'=',並移動到其他先行? –

1

使用如下:

/^(?!.*test[1-3]).{4,}$/ 
相關問題