查找并替换分组主题标签的实例

时间:2015-08-06 10:06:14

标签: javascript regex replace markdown

我有一个像这样的降价字符串:

var str = "# This is a title ## This is a subtitle ###Paragraph title";

我想为每个标题添加一个#标签,所以当markdown呈现为HTML时,它们都会呈现为下面的标题标记。我想实现以下字符串:

var str = "## This is a title ### This is a subtitle ####Paragraph title";

我尝试过简单的替换:

str.replace("###", "####");

但是现在当我去上面的下一个标签时,它会匹配下面标签的实例,因为它还有2个标签:

str.replace("##", "###");

这不好,我想这需要用正则表达式来完成。是否有可能以我想要的方式匹配和替换它们以及如何完成?

2 个答案:

答案 0 :(得分:3)

使用分组非常简单。

使用replace(/(#+)/g, "$1#")

Online Demo左侧有正则表达式解释。

说明:

"搜索所有一个或多个#并用一个额外的#&#34替换每个匹配的组;



var str = "# This is a title ## This is a subtitle ###Paragraph title".replace(/(#+)/g, "$1#");

document.write(str);




答案 1 :(得分:0)

要用n + 1个哈希替换n个哈希字符串的每个实例,可以使用str.replace(/#+/g, '$&#')