正则表达式只匹配没有.md扩展名的内部Markdown链接

问题描述:

我有一个包含内部和外部大量Markdown文件的项目(从http开始)链接。其中一些内部链接没有.md文件扩展名,因此在Jekyll外部渲染时不起作用。正则表达式只匹配没有.md扩展名的内部Markdown链接

例子:

[link text 1](internal-link) 
[link text 2](internal-link-2.md) 
[link text 3](http://external-link...) 

我要寻找的正则表达式只匹配第一的这三种情况 - 内部链接不.md文件扩展名。

精炼后,这可能是它:

\[[^]]+\]\((?!http:)(?!.+\.md).+\) 

https://regex101.com/r/0uW1cl/5

(除去再次捕获组)

+0

类似于我也发挥各地,可惜只有偶然的作品。检查这与更多的例子:http://regexr.com/3h0lq以某种方式排除所有与最后一个字符'.' - 但不是'http'开始... – janpio

+0

这里显示正在发生什么与您建议的正则表达式(我只加了一些捕获组):https://regex101.com/r/0uW1cl/3它排除了单个字符。 (但是,无论如何感谢你的认真回答!) – janpio

+0

你必须重新添加你的捕获组 –