【问题标题】:RegEx to convert formatted link into html <a> tag正则表达式将格式化链接转换为 html <a> 标签
【发布时间】:2017-01-05 15:06:54
【问题描述】:

由于在构建我的搜索数据库时一些糟糕的前瞻性思维,我留下了一些格式为:(Google Homepage)[http://google.com]

的链接

我一直在尝试使用 Javascript 中的正则表达式来将上述格式转换为&lt;a href="http://google.com"&gt;Google Homepage&lt;/a&gt; 格式的常规 HTML 链接。

我已经能够通过正则表达式挑选出括号和方括号,但是在让正则表达式适当地用 HTML 替换括号和方括号时遇到了麻烦。谢谢!

【问题讨论】:

  • 显示你已有的代码!

标签: javascript regex


【解决方案1】:

这将非常简单。基本上,只需制作两个捕获组。一个捕获组将文本放在括号内,另一个将 URL 放在方括号内。

\((.*?)\)\[(.*?)\]
   #1       #2

然后,您可以简单地将每个捕获的部分粘贴到您的标签中,如下所示:

<a href="\2">\1</a>

Here is a demo

【讨论】:

    【解决方案2】:

    这对我有用

    var str1="(Google Homepage)[http://google.com]";
        
    var pattern=/\((.*)\)\[(.*)\]/;
    
    var str2=str1.replace(pattern,"<a href=\"$2\">$1</a>");
    
    console.log(str2);

    【讨论】:

      【解决方案3】:

      考虑到( )[ ]定义了边界,可以试试

      \(([^\)]+)\).*\[([^\]]+)\]
      

      \1 将是文本,\2 将是链接

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-08
        • 1970-01-01
        相关资源
        最近更新 更多