如果有人在我设置的输入框中输入标题,我会尝试返回不匹配的内容。
到目前为止我所拥有的是:
^\s*(?!Dr|Mr|Mrs|Miss|Ms).*?$
这样可以正常工作,除非它不匹配“Drake”,“Missy”,它甚至匹配“Dr.Dennis” 或者“丹尼斯博士”..我知道在人的头衔上进行反向和匹配会更容易,但我必须重写我们的整个验证规则,因为所有其他人都会在不匹配时返回匹配和错误。
任何人都知道我该怎么做?
答案 0 :(得分:3)
您可以像这样添加单词边界到您的负面向前
^\s*(?!(?:Dr|Mr|Mrs|Miss|Ms)\b).*?$
希望我能正确理解你。这个单词边界\b
确保你的标题后面有一个非单词字符,这样它就不会忽略像德雷克这样的东西。
(?:)
是一个非捕获组,这意味着列表中的内容不会像普通组()
那样放在变量中。