1

我使用正则表达式匹配任何包含特定单词的字符串(例如:'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")) )
}
..
..

没有运气

4

3 回答 3

3

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

/^(?!.*\bblue\b)(?=.*\bdark\b).*$/
于 2013-01-22T05:46:23.070 回答
1

使用如下:

new RegExp(/dark/)

你可以使用

.indexOf("dark")

如果你使用 jquery 那么

.contains("dark")
于 2013-01-22T05:36:47.057 回答
1
if(features[i].attributes.color.indexOf("dark") != -1 && features[i].attributes.color.indexOf("blue") == -1){
// found dark, didn't find blue
}
于 2013-01-22T05:40:29.073 回答