用于提取TD内容的正则表达式

时间:2013-12-24 05:28:11

标签: c# regex

我想从这段文本中提取TD之间的值(html标记)。

<tr id="pair_169">
   <td id="cr_12cl_last169">16,294.61</td>
   <td>16,294.61</td><td>16,318.11</td>
   <td class="">16,225.25</td>
   <td class="bold greenFont">73.47</td>
   <td class="bold greenFont">0.45%</td>
   <td id="cr_12cl_date169">23/12</td>
</tr>

什么是最好的正则表达式?

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

const string pattern = @"<td\b[^>]*?>(?<V>[\s\S]*?)</\s*td>";
foreach (Match match in Regex.Matches(inputText, pattern, RegexOptions.IgnoreCase))
{
    string value = match.Groups["V"].Value;

    Console.WriteLine(value);
}

答案 1 :(得分:1)

我知道这是一个老线程,但这个帮助了我类似的情况

<td\b[^>]class=".*?>(.*?)<\/td>

答案 2 :(得分:0)

试试这个正则表达式

<td>(.*?)</td>

或者这个,但是它用于仅与TR匹配TD

(?<1><TR[^>]*>\s*<td.*?</tr>)