用C# 写正则 提取HTML中 的值?

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:03:36
<tr><td font=red>2009-1-2</td><td font=red>200</td><td>110</td></tr>

<tr><td>2009-1-3</td><td>200</td><td>110</td></tr>

<tr><td font=blue>2009-1-4</td><td>200</td><td>110</td></tr>

想提取 日期 和 后面的值,不知道怎么样写正则哟,,

想提出来后这样显示:

2009-1-2|200|110,2009-1-3|200|110,2009-1-4|200|110

用C# 不知道怎么样写正则,还请有会的指导一下
问题解决,谢了

<tr[^>]*>(?:(?:\s|\S)*?(?=<table|</tr>)(?(<table)<table[^>]*>(?:\s|\S)*?(?:</table>|(?:(?:<table[^>]*>(?:\s|\S)*?</table>(?:\s|\S)*?)*?</table>))(?:\s|\S)*?|))*</tr>

/// <summary>
/// 返回处理后的字符串
/// </summary>
/// <param name="objStr">需要处理的字符串</param>
/// <returns>处理后的字符串</returns>
public string RegStr(string objStr)
{
string returnStr = "";
MatchCollection ml = Regex.Matches(objStr, "<tr>.*?</tr>");
foreach (Match m in ml)
{
string str = m.Value.Replace("</td></tr>", ",");
str = str.Replace("</td>", "|");
str = Regex.Replace(str, "<.*?>", "");
returnStr += str;
}
return returnStr;
}

备注:需要导入命名空间using System.Text.RegularExpressions;

<tr><td[^>]*>.*?</td><td[^>]*>\d+</td><td>\d+</td></tr>
一个正则就可以搞定,你先