0

我正在使用这个正则表达式,到目前为止它非常好......

var r = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;

但是,如果我有如下字符串...

 '<div>http://www.a-random-site.com/page1-blah-blah</div>Another bit of text'

那么匹配的位将是......

http://www.a-random-site.com/page1-blah-blah</div>Another

我如何更改正则表达式以考虑到有角度的支架可能会终止链接?

4

2 回答 2

1

我编辑了saramregex pattern并通过 Expresso 对其进行了测试,与您的示例一起使用:

(?:http|ftp|https):\/\/[\w\-_]+(?:\.[\w\-_]+)+(?:[\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?
于 2013-04-25T10:39:42.807 回答
0

我不知道是否有简单的方法来修复您的正则表达式。我只是将此代码用于网址:

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?

来源链接

工作示例

于 2013-04-25T11:04:48.893 回答