使用Regex提取Url

我一直在寻找至少2小时,但我找不到任何模式提取跟随Urls使用正则表达式。 我选择了许多文章中描述的太多模式。 但我找不到有用的东西。

例如:Urls喜欢以下模式。

http://google.com http://www.google.com http://www.image.google.com http://google.com:8080 http://google.com:8080/default.aspx?param=1 http://google.com/default.aspx?param=1&param1=2 

更新:亲爱的朋友们,看起来我必须更详细地解释我的问题,我正在使用TCP组件处理一个简单的代理服务器,我的服务器在收到传入连接时侦听特定端口。 我正在提取和读取所有客户端请求数据。 数据包含标题和内容类型等,如下所示:

 GET http://www.bing.com/ HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: en-US,en;q=0.7,fa;q=0.3 User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0) Accept-Encoding: gzip, deflate Host: www.bing.com DNT: 1 Proxy-Connection: Keep-Alive 

这些是纯文本,因此我需要查找和提取Url以进行转发操作。

你猜的任何Url模式。 请,任何建议都会有所帮助。

https?://[\w\.]+\.\w+(:\d{1,5})?(/[\w?&.=]+)?

萨拉姆。 试试这个:

 https?://[^\s]+