匹配包含特定字符串的任何单词

时间:2010-05-12 12:06:04

标签: javascript regex

我提前为这篇文章的糟糕标题道歉。

我正在尝试匹配任何包含某个字符串的单词,即如果我想匹配包含字符串'press'的任何单词,那么我希望从我的搜索中返回以下内容,

  • 表达
  • 抑郁症
  • 压力

到目前为止,我有/press\w+/这个词和以下任何字符匹配,但我不知道如何获得前面的字符。

非常感谢

2 个答案:

答案 0 :(得分:3)

尝试

 /\w*press\w*/

*为“零或更多”,其中+为“一个或多个”。您的原始正则表达式与"press"不匹配。

另见

答案 1 :(得分:3)

由于您在编译时可能无法识别某些字符串,因此这是一个可以处理任何字符串的函数:

function findMatchingWords(t, s) {
    var re = new RegExp("\\w*"+s+"\\w*", "g");
    return t.match(re);
}

findMatchingWords("a pressed expression produces some depression of pressure.", "press");
// -> ['pressed','expression','depression','pressure']