日期:2014-05-17  浏览次数:20431 次

求一个正则表达式截取字符串中得图片地址和连接地址(c#)
【共同社3月17日电】日本自民党总裁谷垣祯一在17日下午的记者会上表示,鉴于福岛第一核电站事故,今后核电站选址将变得非常困难,核能政策将难<span><a href="/UserDir/Documents/太阳能09台湾.pdf">/UserDir/Documents/太阳能09台湾.pdf</a></span>实施。他同时暗示将修改“增建核电站”的党内方针。  谷垣祯一在记者会上考虑到核能发电已成主要电力来源一事强调,<span><img src="http://localhost:12988/UserDir/Images/0865b5181b7beb3b35fa41a9.jpg" /></span>

实现效果:获得href地址:/UserDir/Documents/太阳能09台湾.pdf 和 图片地址:http://localhost:12988/UserDir/Images/0865b5181b7beb3b35fa41a9.jpg
并且能够将其存入数组



------解决方案--------------------
C# code

            StreamReader reader = new StreamReader("c:\\1.txt",Encoding.Default);
            string source = reader.ReadToEnd();
            Regex reg = new Regex(@"(?is)((?<=<a href=[^>]*?).*?(?=</a>))|((?<=<img src=[^>]*?).*?(?= />))");
            MatchCollection mc = reg.Matches(source);
            foreach (Match m in mc)
            {
                MessageBox.Show(m.Value);
            }

------解决方案--------------------
string str = "【共同社3月17日电】日本自民党总裁谷垣祯一在17日下午的记者会上表示,鉴于福岛第一核电站事故,今后核电站选址将变得非常困难,核能政策将难<span><a href=\"/UserDir/Documents/太阳能09台湾.pdf\">/UserDir/Documents/太阳能09台湾.pdf</a></span>实施。他同时暗示将修改“增建核电站”的党内方针。  谷垣祯一在记者会上考虑到核能发电已成主要电力来源一事强调,<span><img src=\"http://localhost:12988/UserDir/Images/0865b5181b7beb3b35fa41a9.jpg\" /></span>";

var match = Regex.Match(str, @"(?<=<a[^>]+href=[""'])([^""']+)(?=[""'])[\s\S]+(?<=<\s?img\s*src=[""'])([^""']+)");
Response.WriteLine(match.Groups[1].Value);// /UserDir/Documents/太阳能09台湾.pdf
Response.WriteLine(match.Groups[2].Value);// http://localhost:12988/UserDir/Images/0865b5181b7beb3b35fa41a9.jpg