【问题标题】:Find all urls except markdown link to autolink查找除自动链接的降价链接以外的所有网址
【发布时间】:2021-07-13 23:38:58
【问题描述】:

我正在寻找一种方法来查找所有 url 以用 markdown 链接替换它们。但是,在我的字符串中,我已经有一些 URL 已经被 markdown 语法包装了。所以我需要忽略这些情况。 JS 正则表达式可以做到这一点吗?

这是我目前拥有的:

(?:[^\]\)]|^)(htt\ps?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9]{1,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))

此处不应仅捕获最后一行文本: https://regex101.com/r/qgm8jN/1

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    我稍微截断了您的正则表达式(我试图删除变量),请随意添加您认为合适的内容。

    https://regex101.com/r/iVQvEu/1

    您需要了解的主要是负面的看法 (http://www.regular-expressions.info/lookaround.html)

    (?<!not)website

    将匹配website,只要它前面没有not

    所以在你的情况下,我使用了(?<!\]\(),它查找](,只要降价符号不在它前面,它就会返回网站。

    再次随意添加/减去它,但这至少应该为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-24
      • 2018-12-15
      • 2017-12-21
      • 2011-01-15
      • 2023-03-29
      • 2016-02-12
      • 1970-01-01
      • 2018-10-26
      相关资源
      最近更新 更多