RegEx匹配整个单词

时间:2018-06-04 10:05:08

标签: javascript regex

我想抓住包含“厘米”的所有字词,例如: 10.50centimeters 从这句话“本产品有10.50厘米长.. ”。

我的职能:

function findMatchingWords(t, s) {
    var re = new RegExp("\\w*"+s+"\\w*", "g");
    return t.match(re);
}
findMatchingWords('This product have 10.50centimeters length..','centimeters');

但仅返回“ 50centimeters ”。没有得到点之前的数字。

对此有任何帮助吗?

1 个答案:

答案 0 :(得分:3)

  

没有在点之前得到数字。

\w与点匹配,它等同于[A-Za-z0-9_][\w.]会(或[A-Za-z0-9_.])。

var re = new RegExp("[\\w.]*"+s+"\\w*", "g");

直播示例:



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

    return t.match(re);
}
console.log(findMatchingWords('This product have 10.50centimeters length..','centimeters'));




附注:在将s构造函数提供给RegExp之前,您希望在sklearn中转义具有特殊含义的字符。 This question's answers具有执行此操作的功能。