<P align=center>1<href width="60" height="90px" src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>5<img src=" /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>6<img src= " /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
正确结果要求是 :
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
我找的正则:
src.*?=.*?[\"|\']?\s*?\/(.+?\.(?:jpg|gif|png|bmp))(\"|\'|\s)*?\s*?结果是
src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
src='/uploads/allimg/090403/012F31N9-1.jpg
src='/uploads/allimg/090403/012F3D13-2.jpg
src=" /uploads/allimg/090403/012F31N9-1.jpg
src= " /uploads/allimg/090403/012F31N9-1.jpg
src= /uploads/allimg/090403/012F3D13-2.jpg
请问如何得到正确结果
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>5<img src=" /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>6<img src= " /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
正确结果要求是 :
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
我找的正则:
src.*?=.*?[\"|\']?\s*?\/(.+?\.(?:jpg|gif|png|bmp))(\"|\'|\s)*?\s*?结果是
src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
src='/uploads/allimg/090403/012F31N9-1.jpg
src='/uploads/allimg/090403/012F3D13-2.jpg
src=" /uploads/allimg/090403/012F31N9-1.jpg
src= " /uploads/allimg/090403/012F31N9-1.jpg
src= /uploads/allimg/090403/012F3D13-2.jpg
请问如何得到正确结果
(?<=src.*?=.*?[\"|\']?)\s*?\/(.+?\.(?:jpg|gif|png|bmp))(\"|\'|\s)*?\s*? 修改了一下你的,试试看
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
/*----------输出----------
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
*/
<P align=center>2 <img src='/uploads/allimg/090403/012F31N9-1.jpg' border=""0""> </P>
<P align=center>3 <img src='/uploads/allimg/090403/012F3D13-2.jpg'style=""width:100px""> </P>
<P align=center>5 <img src="" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""> </P>
<P align=center>6 <img src= "" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""> </P>
<P align=center>7 <img src= /uploads/allimg/090403/012F3D13-2.jpg style=""width:100px""> </P> "; Regex reg = new Regex(@"(?is)src=\s*['""]?\s*(.*?\.jpg)['""]?");
MatchCollection mc = reg.Matches(pageHtml); foreach (Match m in mc)
{
Console.WriteLine(m.Groups[1].ToString() + "\r\n");
}
/*
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg/uploads/allimg/090403/012F31N9-1.jpg/uploads/allimg/090403/012F3D13-2.jpg/uploads/allimg/090403/012F31N9-1.jpg/uploads/allimg/090403/012F31N9-1.jpg/uploads/allimg/090403/012F3D13-2.jpg*/
/*----------输出----------
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
*/
我少打了一个
zhoukang0916】三楼
运行结果:(也不对)
<img src="/image
你在什么环境下使用,C#还是JavaScript?
4楼的测试代码你是怎么使用的? string test = @"<P align=center>1<href width=""60"" height=""90px"" src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border=""0""></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style=""width:100px""></P>
<P align=center>5<img src="" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""></P>
<P align=center>6<img src= "" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style=""width:100px""></P> ";
Regex reg = new Regex(@"(?is)(?<=src\s*=\s*(['""]?)\s*)[^'""\s>]+(?=\s*\1)");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
/*----------输出----------
http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F31N9-1.jpg
/uploads/allimg/090403/012F3D13-2.jpg
*/
那就加下限制吧 string test = @"<P align=center>1<href width=""60"" height=""90px"" src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border=""0""></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style=""width:100px""></P>
<P align=center>5<img src="" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""></P>
<P align=center>6<img src= "" /uploads/allimg/090403/012F31N9-1.jpg "" border=""0""></P>
<P align=center>6<img src= "" /uploads/allimg/090403/012F31N9-1.dib "" border=""0""></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style=""width:100px""></P> ";
Regex reg = new Regex(@"(?is)(?<=src\s*=\s*(['""]?)\s*)[^'""\s>]+(?:\.jpg|gif|png|bmp)(?=\s*\1)");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
(?i)表示忽略大小写
(?s)表示单行模式,也就是小数点“.”可以匹配任意字符,这里没涉及到,可以去掉,拿以前的正则改的,忘了去掉了Regex reg = new Regex(@"(?i)(?<=src\s*=\s*(['""]?)\s*)[^'""\s>]+(?:\.jpg|gif|png|bmp)(?=\s*\1)");