日期:2014-05-19  浏览次数:20797 次

求获取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> [^ '\ "]+?)[ '\ "]