用相同的内容替换正则表达式字符串,并在其周围使用span标记

时间:2014-04-17 05:20:24

标签: javascript jquery regex

我试图在引号内的每个单词周围放置一个跨度,有点像:

$('code').html($('code').html().replace(/"(.*?)"/g, '<span>/"(.*)?"/g</span>')

我可以用简单的字符串替换所有引用的单词,但不能用原始内容替换它。关于如何做到这一点的任何想法?谢谢!

2 个答案:

答案 0 :(得分:4)

在替换字符串$&中将获得正则表达式匹配的内容,$1将获得第一个捕获组,$2获取第二个捕获组,依此类推。所以:

$('code').html($('code').html().replace(/".*?"/g, '<span>$&</span>'));

答案 1 :(得分:1)

试试这个:

str.replace(/"(\w+)"/g, '<span>$1</span>')

使用特殊变量($ 1,$ 2等)来引用括号中的第一个(和第二个等)匹配项。