【问题标题】:regular expression:match a word and a length正则表达式:匹配一个单词和一个长度
【发布时间】:2012-10-22 16:41:57
【问题描述】:

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

我知道如何单独做每一个,但不知道一起做。

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

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

如何做到这两点:-

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

提前致谢

【问题讨论】:

    标签: regex


    【解决方案1】:

    试试这个:

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

    或者:

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

    或者:

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

    【讨论】:

    • 我使用了前瞻技术,第一次前瞻寻找第 4 大小的字符串,在我使用?= 重置它并移动到其他前瞻
    【解决方案2】:

    使用下面的:

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

    【讨论】:

      猜你喜欢
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      相关资源
      最近更新 更多