使用正则表达式检查字符串是否不完全是其他单词
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$)/;
我有一个案例,我需要在 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$)/;