110,500
社区成员
发帖
与我相关
我的任务
分享
<label id="ArticleCnt" runat="server"><P align=center><FONT size=2><IMG alt=这是标题 src="../pics/9943/9943444.jpg" border=0 name=MM></FONT></P>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体" align=center>
<P style="TEXT-INDENT: 2em">这是图片标题。 </P></DIV>
<P align=center><FONT size=2><IMG src="../pics/9943/9943448.jpg" border=0></FONT></P>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体" align=center>图片标题</DIV>
<P align=center><FONT size=2><IMG src="../pics/9943/9943455.jpg" border=0></FONT></P>
</label>
private static void TestRegex03()
{
string html = @"<label id=""ArticleCnt"" runat=""server""><P align=center><FONT size=2><IMG alt=这是标题 src=""../pics/9943/9943444.jpg"" border=0 name=MM></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>
<P style=""TEXT-INDENT: 2em"">这是图片标题。 </P></DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943448.jpg"" border=0></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>图片标题</DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943455.jpg"" border=0></FONT></P>
</label>";
MatchCollection mc = Regex.Matches(html, @"(?is)(?<=<img.*?src=""\.+/)[^"" ']+");
List<string> lines = new List<string>();
foreach (Match m in mc)
{
lines.Add(@"http://img1.qq.com/news/" + m.Value);
}
}
using System.Collections;
using System.Text.RegularExpressions;
using System.Collections.Generic;
//ArrayList _arrayList;
List<string> list;
protected void Button1_Click(object sender, EventArgs e)
{
string testStr = @"<label id=""ArticleCnt"" runat=""server""><P align=center><FONT size=2><IMG alt=这是标题 src=""../pics/9943/9943444.jpg"" border=0 name=MM></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>
<P style=""TEXT-INDENT: 2em"">这是图片标题。 </P></DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943448.jpg"" border=0></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>图片标题</DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943455.jpg"" border=0></FONT></P>
</label>";
//_arrayList = new ArrayList();
list = new List<string>();
string result = Regex.Replace(testStr, @"(?<=<img[^>]*src="")[^""]*(?=""[^>]*>)", new MatchEvaluator(RegReplace), RegexOptions.IgnoreCase);
//foreach (object o in _arrayList)
// Response.Write(o.ToString() + "<br>");
foreach (string s in list)
Response.Write(s + "<br>");
}
private string RegReplace(Match m)
{
//_arrayList.Add(m.Value.Replace("../pics/", "http://img1.qq.com/news/images/"));
list.Add(m.Value.Replace("../pics/", "http://img1.qq.com/news/images/"));
return "";
}
using System.Collections;
using System.Text.RegularExpressions;
using System.Collections.Generic;
string testStr = @"<label id=""ArticleCnt"" runat=""server""><P align=center><FONT size=2><IMG alt=这是标题 src=""../pics/9943/9943444.jpg"" border=0 name=MM></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>
<P style=""TEXT-INDENT: 2em"">这是图片标题。 </P></DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943448.jpg"" border=0></FONT></P>
<DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>图片标题</DIV>
<P align=center><FONT size=2><IMG src=""../pics/9943/9943455.jpg"" border=0></FONT></P>
</label>";
List<string> result = new List<string>();
MatchCollection mc = Regex.Matches(testStr, @"(?<=<img[^>]*src="")[^""]*(?=""[^>]*>)", RegexOptions.IgnoreCase);
foreach(Match m in mc)
result.Add(m.Value.Replace("../pics/", "http://img1.qq.com/news/images/"));
foreach (string s in result)
Response.Write(s + "<br>");
}
using System;
using System.Text.RegularExpressions;
using System.Collections;
public class Test
{
static void Main(string[] args)
{
string input = @"<label id=""ArticleCnt"" runat=""server""><P align=center><FONT size=2><IMG alt=这是标题 src=""../pics/9943/9943444.jpg"" border=0 name=MM></FONT></P> <DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center> <P style=""TEXT-INDENT: 2em"">这是图片标题。 </P></DIV> <P align=center><FONT size=2><IMG src=""../pics/9943/9943448.jpg"" border=0></FONT></P> <DIV style=""FONT-SIZE: 10pt; FONT-FAMILY: 宋体"" align=center>图片标题</DIV> <P align=center><FONT size=2><IMG src=""../pics/9943/9943455.jpg"" border=0></FONT></P> </label>";
ArrayList arrLists;
string[] strArrs;
tsRegex(input,out arrLists,out strArrs);
foreach (string strArr in strArrs)
{
Console.WriteLine(strArr);
}
Console.WriteLine("\n");
foreach (string arrList in arrLists)
{
Console.WriteLine(arrList);
}
Console.ReadKey();
/*
http://img1.qq.com/news/pics/9943/9943444.jpg
http://img1.qq.com/news/pics/9943/9943448.jpg
http://img1.qq.com/news/pics/9943/9943455.jpg
http://img1.qq.com/news/pics/9943/9943444.jpg
http://img1.qq.com/news/pics/9943/9943448.jpg
http://img1.qq.com/news/pics/9943/9943455.jpg
*/
}
static void tsRegex(string input, out ArrayList arrLists, out string[] strArrs)
{
string strLink = "http://img1.qq.com/news/";
MatchCollection mc = Regex.Matches(input, @"<img.{1,20}src=[""']?(.*?)[""'\s>]",RegexOptions.IgnoreCase);
int count = mc.Count;
arrLists = new ArrayList();
if (count > 0)
{
strArrs = new string[count];
for (int i = 0; i < count; i++)
{
string strImage =strLink+ mc[i].Groups[1].Value.Replace("../","");
arrLists.Add(strImage);
strArrs[i] = strImage;
}
}
else
{
strArrs = new string[0];
}
}
}
private ArrayList GetImages(string htmlText)
{
const string pattern = "<img [^~]*?>";
const string pattern1 ="src\\s*=\\s*((\"|\')?)(?<url>\\S+)(\"|\')?[^>]*";
ArrayList al = new ArrayList ();
Match match = Regex.Match(htmlText,pattern, RegexOptions.IgnoreCase); //找到img标记
while(match.Success)
{
string img = match.Value;
string imgsrc = Regex.Match(img, pattern1, RegexOptions.IgnoreCase).Result("${url}");
imgsrc = Regex.Replace(imgsrc, "\"|\'|\\>", "", RegexOptions.IgnoreCase);
al.Add(imgsrc );
match = match.NextMatch();
}
return al;
}