求获取URL的信息的正则表达式!在线等待?
HTML代码部分如下:
......
<div id= "Out1details " style= "DISPLAY: none; LEFT: -12px; POSITION: relative ">
<dd> <A HREF= '../1c1_.htm ' target= "2 "> 1-1 各地区行政区划及辖区面积 </A> </dd>
<dd> <A HREF= '../1c2_.htm ' target= "2 "> 1-2 各地区行政区划一览表 </A> </dd>
<dd> <A HREF= '../1c3_.htm ' target= "2 "> 1-3 自然资源 </A> </dd>
<dd> <A HREF= '../1c4_.htm ' target= "2 "> 1-4 主要矿产基础储量 </A> </dd> >
</div>
.....
想通过正则式的方式,把类似 <A HREF= '../1c1_.htm ' target= "2 "> 1-1 各地区行政区划及辖区面积 </A> 这样的URL中的 ../1c1_.htm 和 1-1 各地区行政区划及辖区面积 分别取出来。
求正则表达式如何写?以上是我在网上搜到一个例子,但是只能取出../1c1_.htm ,如何改进它?
public ArrayList DumpHrefs(string inputString)
{
Regex r;
Match m;
ArrayList URLMatches = new ArrayList();
r = new Regex( "href\\s*=\\s*(?:[\ "\ ']*(? <1> [^\ "\ ']*)[\ "\ ']*|(? <1> \\S+)) ",
RegexOptions.IgnoreCase | RegexOptions.Compiled);
for (m = r.Match(inputString); m.Success; m = m.NextMatch())
{
string url = m.Groups[0].ToString().Trim();
url = url.Replace( "& ", "& ");
URLMatches.Add(url);
}
return URLMatches;
}
------解决方案--------------------@ "^(http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*$
------解决方案--------------------try
string yourStr = ............;
MatchCollection mc = Regex.Matches(yourStr, @ " <a[^> ]*href=([ ' " "]?)(? <url> [^ ' " "\s> ]*)\1[^> ]*> (? <text> [^ <]*) </a> ", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[ "url "].Value + "\n ";
richTextBox2.Text += m.Groups[ "text "].Value + "\n ";
}
------解决方案--------------------Regex reg=new Regex( "href=[ '\ "](? <href> [^ '\ "]+?)[ '\ "]