2012-10-19 81 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,}$/ 
相关问题