我一直在搜索至少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¶m1=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模式。 请,任何建议都会有所帮助。
答案 0 :(得分:3)
https?://[\w\.]+\.\w+(:\d{1,5})?(/[\w?&.=]+)?
答案 1 :(得分:0)
萨拉姆。试试这个:
https?://[^\s]+