使用表达式数组进行搜索

时间:2012-05-21 17:28:14

标签: javascript regex

我正在尝试循环一系列不允许的单词。然而,我正试图准确地匹配这个词:例如,如果它匹配“猫”而不是“餐饮”,我会想做点什么。所以我试着测试一下这个词之前和之后是否有空格,看它是不是一个单词而不是另一个单词的一部分。

这是我的尝试:

var badWords = [
  "cat",
  "catering",
  "cattle"
];

var string = "";
for (j=0;j<badWords.length;j++) {
  var regex = "/\s" + badWords[j] + "\s/";
  if string.search(regex)) {
    alert("works");
  }
}

1 个答案:

答案 0 :(得分:2)

var badWords = [
  "cat",
  "catering",
  "cattle"
];

var string = "cat";
for (var j=0;j<badWords.length;j++) {
  var patt = new RegExp("(^|\\b)" + badWords[j] + "(\\b|$)");
  if(patt.test(string)) {
    console.log("works");
  }
}