查找以@ sign开头的所有单词

时间:2013-05-09 13:12:27

标签: javascript jquery regex

我有以下Javascript函数,可以在一个可信的div中查找一组单词的所有匹配项:

var words = ['oele', 'geel', 'politie', 'foo bar'];

function markWords() {
    var html = div.html().replace(/<\/?strong>/gi, ''),
        text = html.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' '),
        exp;
    $.each(words, function(i, word) {
        exp = new RegExp('\\b(' + word + ')\\b', 'gi');
        html = html.replace(exp, function(m) {
console.log('WORD MATCH:', m);
            return '<strong>' + m + '</strong>';
        });
    });
    //html = html.replace('&nbsp;', ' ').replace(/\s+/g, ' ');
    div.html(html);
}

如何修改它以便它标记所有这些单词,仅在它们以符号@开头的情况下?例如,它应匹配@foo bar等。

Live fiddle

1 个答案:

答案 0 :(得分:1)

如果你改变了

exp = new RegExp('\\b(' + word + ')\\b', 'gi');

exp = new RegExp('@\\b(' + word + ')\\b', 'gi');

它会匹配@politie@foo bar等内容。