如何使用正则表达式获取字符串中的URL

时间:2014-10-08 14:17:23

标签: regex

我正在尝试使用正则表达式获取网址但我错过了网址的结尾 这是包含url

的字符串示例
<div class=\"ExternalClassC7001553FFC442DD9B99547999723C7B\">http://bazar.flow.be/Knowledge/Legal/FR/Ina/Circul/Circul BB adm. 2014/circ_bb_p_2014_xxx.doc</div>

我要在输出中得到这个:

http://bazar.flow.be/Knowledge/Legal/FR/Ina/Circul/Circul BB adm. 2014/circ_bb_p_2014_xxx.doc

现在,我使用这个返回我的正则表达式:“http://bazar.flow.be/Knowledge/Legal/FR/Ina/Circul/Circul

@"((https?|ftp|file)\://|www.)[A-Za-z0-9\.\-]+(/[A-Za-z0-9\?\&\=;\+!'\(\)\*\-\._~%]*)*"

感谢您的解决方案

4 个答案:

答案 0 :(得分:1)

在某处包含一个空格:

@"((https?|ftp|file)\://|www.)[A-Za-z0-9\.\-]+(/[A-Za-z0-9\?\&\=;\+!'\(\)\*\-\. _~%]*)*"

                                                                               |
                                                                          added space here

答案 1 :(得分:1)

只需在最后一个字符类中添加空格,您就可以将正则表达式简化为:

(?:(?:https?|ftp|file)\://|www\.)[A-Za-z0-9.-]+(?:/[\w?&=;+!'()*.~% -]*)*

答案 2 :(得分:0)

只需在正则表达式的末尾添加反斜杠和空格:

@"((https?|ftp|file)\://|www.)[A-Za-z0-9\.\-]+(/[A-Za-z0-9\?\&\=;\+!'\(\)\*\-\._~%\ ]*)*"

答案 3 :(得分:0)

((https?|ftp|file)\://|www.)[A-Za-z0-9\.\-]+(/[A-Za-z0-9\?\&\=;\+!'\(\)\*\-\._~%]*)*([^<]+)*

试试这个。看看演示。

http://regex101.com/r/hQ1rP0/83