是否可以将找到的单词插入到替换中?
$(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/
提前致谢!彼得
尝试这个:
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)