我的要求是允许某个字段长度为3-50个字符,包含字母数字和“ - ”字符,但不允许使用2个特定字词。
我从/^[\w\-\s]{3,50}$/
开始。然后我添加了/^((?!word1).)*$/i
,/^((?!word2).)*$/i
等
我知道,一般来说,regexp没有逻辑AND
。我可能连续测试3个正则表达式,如果其中任何一个失败,则会失败,但我宁愿只有一个正则表达式。我可以用什么正则表达式来满足所有3个条件?
答案 0 :(得分:1)
您可以使用负前瞻使用此单一正则表达式:
/^(?!.*?(word1|word2))[\w\s-]{3,50}$/i