JavaScript 用正则表达式替换正则表达式

标签 javascript regex

我有一些文本,其中包含 Markdown 链接:

var text = 'some text some text [some text](link.md) some text some text';

我想把它改成

var newText = 'some text some text [some text](link.html) some text some text';

基本上,将 .md 更改为 .html,但前提是它是有效的 Markdown 链接。一个有效的 Markdown 链接是 [](),中间有文本。

目前我必须遵循正则表达式:/\[.*\]\(.*.md\)/g

但是,我将如何在 Javascript 中执行正则表达式替换(如果上面的正则表达式匹配,将 .md 替换为 .html)?

最佳答案

试试这个替换:

var text = '[some text](link.md)';
console.log("Before:\n" + text);
text = text.replace(/(\[[^\]]+\])\(([^\)]+).md\).*/, "$1($2.html)");
console.log("After:\n" + text);

关于JavaScript 用正则表达式替换正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49848620/

相关文章:

c# - 如何评估正则表达式 OR 运算符

javascript - 正则表达式匹配大于 0 的数字,在括号内并且倒数第二个字符为字符串

python - 多个相同的名称组定义或如果系统

javascript - 遍历对象并在javascript中获取随机项目

javascript - 如何在 Angularjs 中进行营业时间(时间)计算?

javascript - 服务器端的 ASP.NET 确认对话框

c# - C# 中的正则表达式过滤器

javascript - 'style ="border:none; overflow:hidden; height:80px"' 通过 python re.sub 到 js 对象

javascript - 如何从 github 引用远程文件路径?

javascript - string.AngularJs 中的替换