Javascript Regex - 插入单词(命中)

Pet*_*ter 3 javascript regex

是否可以将找到的单词插入到替换中?

$(function() {

    content = 'hallo mein name ist peter und ich komme aus berlin. Und du?';

    words = 'mein na,berlin'

    words = words.replace(/,/,'\|');
    words = words.replace(/\s/,'\\s');

    regex = new RegExp(words,'gi');

    content = content.replace(regex,'<strong>*insert here the word that was found*</strong>');

    alert(''+content+'');

});
Run Code Online (Sandbox Code Playgroud)

工作示例 http://www.jsfiddle.net/V9Euk/227/

提前致谢!彼得

Kob*_*obi 5

尝试这个:

content.replace(regex,'<strong>$&</strong>');
Run Code Online (Sandbox Code Playgroud)

$&替换为完整匹配。
工作示例:http : //www.jsfiddle.net/V9Euk/228/

如果您对它更满意,您可以添加一个组并将其替换为$1(这个问题会少一些):

words = words.replace(/,/g,'\|');
words = words.replace(/\s/g,'\\s');
words = '(' + words + ')';

regex = new RegExp(words, 'gi');

content = content.replace(regex,'<strong>$1</strong>');
Run Code Online (Sandbox Code Playgroud)

请注意,您可能需要g这些替换上的标志,或者您只更改第一个空格和逗号。
如果您还想避免部分匹配(因此不会捕获“mein na”),请添加\b

words = '\\b(' + words + ')\\b';
Run Code Online (Sandbox Code Playgroud)