问题描述
一个从HTML中提取数据的正则表达式具体的就是我需要从一堆HTML中先提取以下一段<trclass="firstEUR"><tdclass="mynt"scope="row"><ahref="/markadir/gengigjaldmidla/gengisthroun/?mynt=EUR&teg=A"><acronymtitle="Evra">EUR</acronym></a></td><tdclass="neg">-0,30<imgalt="Down"src="/themes/default/img/arrow_down.gif"/></td><td>85,19</td><td>85,71</td></tr>然后在从中提取-0,3085,1985,71三个数该怎么写?或者有其他的方法也行..请教中....
解决方案
解决方案二:
大概这样stringhtml=".....";Regexre=newRegex(@"<trclass=""[^""]+""[^>]*>s*<td[^>]*>s*<a[^>]*>s*<acronym[^>]*>(?<cur>.*?)<.*?</td[^>]*>s*<td[^>]*>(?<down>.*?)<.*?<td[^>]*>(?<numx>.*?)<.*?<td[^>]*>(?<numy>.*?)<",RegexOptions.Compiled|RegexOptions.IgnoreCase|RegexOptions.Singleline);foreach(Matchminre.Matches(html)){Console.WriteLine("currency={0},down={1},whatever={2},whatever2={3}",m.Groups["cur"].Value,m.Groups["down"].Value,m.Groups["numx"].Value,m.Groups["numy"].Value);}CSDN现在好像会在>前面加空格(很糟),所以你也许需要修改上面的正则
解决方案三:
UP
解决方案四:
死鬼5点就起来抢分了
解决方案五:
死鬼5点就起来抢分了--------------------我汗,思归那里可能才吃过晚饭吧stringtest=@"<trclass=""firstEUR""><tdclass=""mynt""scope=""row""><ahref=""/markadir/gengigjaldmidla/gengisthroun/?mynt=EUR&teg=A""><acronymtitle=""Evra"">EUR</acronym></a></td><tdclass=""neg"">-0,30<imgalt=""Down""src=""/themes/default/img/arrow_down.gif""/></td><td>85,19</td><td>85,71</td></tr>";MatchCollectionmc=Regex.Matches(test,@"(?<=<td[^>]*>)[sS]*?(?=</td>)",RegexOptions.IgnoreCase);if(mc.Count>0){for(inti=1;i<mc.Count;i++){richTextBox1.Text+=Regex.Replace(mc[i].Value,"<[^>]*>","")+"n";}}
解决方案六:
汗````
解决方案七:
学习