2

我需要帮助来做这个正则表达式。句子不能少于4个字母,并且不能匹配这些单词中的任何一个(test1,test2 and test3)

我知道如何分别做每一个,但不知道如何一起做。

第一个条件^.{4,}$

第二个条件^((?!test1|test2|test3).)*$

如何做到这一点: -

  1. “你好”会过去
  2. "hel" 会失败
  3. “test1”会失败,尽管它的长度超过 4 个字母
  4. "test2" 将失败,尽管它的长度超过 4 个字母
  5. "test3" 会失败,尽管它的长度超过 4 个字母

提前致谢

4

2 回答 2

5

试试这个:

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

或者:

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

或者:

(?=^.{4,}$)(^((?!test[1-3]).)*$)
于 2012-10-19T14:00:06.947 回答
1

使用以下内容:

/^(?!.*test[1-3]).{4,}$/
于 2012-10-19T13:58:28.090 回答