我正在寻找将正则表达式应用于输入字符串,以确保它与预定义值列表不匹配.例如,如果我传入单词Dog,我不希望它匹配.同样对于猫.但是,如果我通过绵羊,它应该匹配.我试过了:
^(?!(Dog)|(Cat))$ << Doesn’t match Dog, Cat or sheep!
^((?!Dog)|(?!Cat))$ << Doesn’t match Dog, Cat or sheep!
^(?!Dog|Cat)$ << Doesn’t match Dog, Cat or sheep!
^(?!Dog)|(?!Cat)$ << matches everything because Dog != Cat for example
Run Code Online (Sandbox Code Playgroud)
基本上,如果我通过"狗",它应该匹配为狗!=狗.但是,如果我准确传递狗或猫,那么它应该不匹配.
我觉得这很容易,但我把头发拉了出来!谢谢
前瞻断言与任何东西都不匹配.关闭后你需要匹配字符,所以试试吧
^(?!.*Dog)(?!.*cat).*$
Run Code Online (Sandbox Code Playgroud)
在Regexr看到它
它们在msdn上有详细描述
如果您想要准确匹配这些单词,请使用这样的单词边界
^(?!.*\bDog\b)(?!.*\bCat\b).*$
Run Code Online (Sandbox Code Playgroud)
在\b
确保没有字字符之前或之后
归档时间: |
|
查看次数: |
7735 次 |
最近记录: |