[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
作为文字的链接,但我需要在()
内替换文字。
答案 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>