分析的内容:
<DIV id=body><IMG alt=内容1 src=1.jpg><FONT face=宋体>你好.</FONT><IMG alt=内容2 src=2.jpg></DIV>希望能得到:内容1和内容2使用: string p1 = "(?is)<IMG alt=(?<Title>[^\\s].*?)>";
Regex re = new Regex(p1, RegexOptions.IgnoreCase);//正则表达式得到的结果是 :”内容1 src=1.jpg“ 和 “内容2 src=2.jpg 希望只得到内容1和内容2,请帮忙修改一下正则表达式。谢谢。
<DIV id=body><IMG alt=内容1 src=1.jpg><FONT face=宋体>你好.</FONT><IMG alt=内容2 src=2.jpg></DIV>希望能得到:内容1和内容2使用: string p1 = "(?is)<IMG alt=(?<Title>[^\\s].*?)>";
Regex re = new Regex(p1, RegexOptions.IgnoreCase);//正则表达式得到的结果是 :”内容1 src=1.jpg“ 和 “内容2 src=2.jpg 希望只得到内容1和内容2,请帮忙修改一下正则表达式。谢谢。
void Main()
{
string html=@"<DIV id=body><IMG alt=内容1 src=1.jpg><FONT face=宋体>你好.</FONT><IMG alt=内容2 src=2.jpg></DIV>"; foreach(Match m in Regex.Matches(html,@"(?is)<img([^>]*)alt=(?<Title>[^\s]*)\1.*?>"))
{
Console.WriteLine(m.Groups["Title"].Value);
}
}/*
内容1
内容2
*/
foreach(Match m in mc)
{
m.Value;//就是你要的
}
string html = "<DIV id=body><IMG alt=内容1 src=1.jpg><FONT face=宋体>你好.</FONT><IMG alt=内容2 src=2.jpg></DIV>";
MatchCollection mc = Regex.Matches(html, @"(?is)(?<=<img alt=)[^>]*(?=>)");
foreach (Match m in mc)
Console.WriteLine(m.Value);
//输出:
//内容1 src=1.jpg
//内容2 src=2.jpg
可是具体怎么,解释下啊还有这个东西,如果是想知道alt的值,用jquery可以么
MatchCollection mc = Regex.Matches(html, @"(?is)(?<Title>(?<=<img alt=)[^\s>]*)");
foreach (Match m in mc)
//Console.WriteLine(m.Groups["Title"].Value);
//或者
Console.WriteLine(m.Value);
//输出:
//内容1
//内容2
(?is)(?<Title>(?<=<img alt=)[^\s]+(?=[^>]+>))