一个正规表达式的问题
<tr bgcolor= "#E6E6DC ">
<td width= "16% " align= "center " height= "20 " bgcolor= "#E6E6DC ">
<font color= "#000000 "> <b>
估 价:
</b> </font> </td>
<td width= "84% " height= "20 " bgcolor= "#E6E6DC "> <font>
RMB 8,000-18,000
</font> </td>
</tr>
re = new Regex(@ "估.*?价.*?\n(? <price> [^\n]*?) </b> </font> \s+ </td> ", RegexOptions.Singleline|RegexOptions.Compiled);
a.Price = re.Match(info).Groups[ "price "].Value;
以前用的是这个可以取出HTML里的RMB 8,000-18,000
。现在为什么不行了呀?谢谢各位!!
问题解决马上结分。
------解决方案--------------------因为不太清楚你的具体格式,也就是哪些会变,哪些不会,所以下面的写法可能显得有些繁琐,不过应该是可以达到你的要求
string yourStr = ..................;
string resultStr = " ";
Match m = Regex.Match(yourStr, @ "估\s*价:([\s\S]*?) </tr> ", RegexOptions.IgnoreCase);
if (m.Success)
{
resultStr = Regex.Replace(m.Groups[1].Value, @ " <[^> ]*?> ", " ").Trim();
}