RegEx - JavaScript - 匹配单词而不匹配另一个单词

时间:2013-01-22 05:33:43

标签: javascript regex

我使用正则表达式来匹配包含某个单词的任何字符串(例如:'dark')

     if (features[i].attributes.color.match(new RegExp(dark, "ig")) ) )
..
..

如何修改它以匹配包含'dark;但不包含'蓝色'? 我试过了:

if(
features[i].attributes.color.match(new RegExp(dark, "ig")) ) && !features[i].attributes.color.match(new RegExp(blue, "ig")) )
}
..
..

没有运气

3 个答案:

答案 0 :(得分:2)

试试这个正则表达式“包含黑暗而不是蓝色”:

/^(?!.*\bblue\b)(?=.*\bdark\b).*$/

答案 1 :(得分:1)

if(features[i].attributes.color.indexOf("dark") != -1 && features[i].attributes.color.indexOf("blue") == -1){
// found dark, didn't find blue
}

答案 2 :(得分:0)

使用如下:

new RegExp(/dark/)

你可以使用

.indexOf("dark")

如果你使用jquery那么

.contains("dark")