javascript regular expression to not match a word
如何使用javascript正则表达式检查不匹配某些单词的字符串?
例如,我想要一个函数,当传递包含
'abcd'->false
'cdef'->false
'bcd'->真
编辑
最好是,我想要一个像这样简单的正则表达式,[^abc],但是它不能提供预期的结果,因为我需要连续的字母。
我要的是
埃多克斯1〔3〕
对
这就是你在找的。
1 | ^((?!(abc|def)).)*$ |
这里的解释是:正则表达式匹配的线对是不是包含了Word文档?
1 2 3 4 5 6 | if (!s.match(/abc|def/g)) { alert("match"); } else { alert("no match"); } |
解决方案:这是清洁的
1 2 3 4 5 | function test(str){ //Note: should be /(abc)|(def)/i if you want it case insensitive var pattern = /(abc)|(def)/; return !str.match(pattern); } |
1 2 3 | function test(string) { return ! string.match(/abc|def/); } |
在这种方式,可以这样做:2
1 2 3 4 5 6 7 8 | if (str.match(/abc|def/)) { ... } if (/abc|def/.test(str)) { .... } |
1 2 3 | function doesNotContainAbcOrDef(x) { return (x.match('abc') || x.match('def')) === null; } |