使用正则表达式检查字符串是否不完全是其他单词

Check is a string is not exactly some other word using regex

我有一个案例,我需要在 javascript 中使用正则表达式查找字符串是否与单词完全不匹配。

我正在尝试否定前瞻。

var reg = /(?!(^Hello$))/
var a = "Hello";
var b = "something else";


console.log(reg.test(a)) // I need this to be false
console.log(reg.test(b)) // I need this to be true

我怎样才能做到这一点?在 Javascript 中,控制台日志都给出了 true

问题是您没有锚定整个正则表达式,因此它可以匹配输入字符串中的任何位置。不会一开始就匹配,但是在'H'之后会匹配,因为'H'后面没有字符串匹配(?!(^Hello$)),从而满足负向先行。

要让你的正则表达式做你想做的事,锚定它:

var reg = /^(?!Hello$)/;