正则表达式将[URL](文本)转换为HTML链接

时间:2015-07-02 18:18:23

标签: javascript regex

[http://url.com](Here is a link to explain.)

正则表达式将取代它:

<a href="http://url.com">Here is a link to explain.</a>

str.replace(/\[(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])\]/ig, "<a href='$1'>$1</a>")

这使[http://url.com]成为http://url.com作为文字的链接,但我需要在()内替换文字。

1 个答案:

答案 0 :(得分:2)

这将匹配这些并将每个部分提取为单独的匹配:

/\[(.*)\]\((.*)\)/

var regex = /\[(.*)\]\((.*)\)/,
    matches = regex.exec('[http://url.com](This is the text)');
document.querySelector('pre').innerText += matches[1] + '\n' + matches[2];

// create a link
var linkText = '<a href="' + matches[1] + '">' + matches[2] + '</a>';
document.querySelector('pre').innerText += '\n' + linkText;
<pre></pre>