我从WMD showdown.js文件得到了这个正则表达式模式。检测超链接的正则表达式
/<((https?|ftp|dict):[^'">\s]+)>/gi
而且代码:
text = text.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,"<a href=\"$1\">$1</a>");
但是,当我设置text
到http://www.google.com
,它没有固定在那里,它返回的是原始文本值(http://www.google。 COM)。
P.S:我用RegexPal进行了测试,结果不符。
把<>出来,它应该工作这看起来是最好的:'(http | ftp | https):\/\/[\ w \ -_] +(\。[\ w \ -_ ] +)+([\ w \ - \。,@?^ =%&:/〜\ +#] * [\ w \ - \ @ @^^ =%& /〜\ +#])?'From http ://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport = 1 – Rob
上次有人回答关于正则表达式和HTML的问题时,这让他们生气。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –
所以你只是想把整个网址,并把它放在一个锚标记?在你的例子中,它应该返回'http://www.google.com'? – Ali