C# 使用正则表达式从html中获取具有特定单词的特定行

C# 使用正则表达式从html中获取具有特定单词的特定行,c#,html,regex,C#,Html,Regex,我想获取其..中包含特定单词/字符串的所有行。。并将其存储在数组中 我有一个字符串如下 <tr> <td>Total</td> <td>123</td> <td>567</td> </tr> <tr> <td>ABC</td> <td>123</td> <td>567</td&

我想获取其..中包含特定单词/字符串的所有行。。并将其存储在数组中 我有一个字符串如下

<tr>
    <td>Total</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>ABC</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>XYZ</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>Total</td>
    <td>7676</td>
    <td>8767</td>
</tr>

全部的
123
567
基础知识
123
567
XYZ
123
567
全部的
7676
8767
我想获取一行,该行的字符串总数和值应存储在数组中

因此,输出应该

    <tr>
        <td>Total</td>
        <td>123</td>
        <td>567</td>
    </tr>

 <tr>
        <td>Total</td>
        <td>7676</td>
        <td>8767</td>
    </tr>

全部的
123
567
全部的
7676
8767

在JQUERY中,获取一个字符串为“Total”的行的正则表达式应该是什么


要为每个表行构建包含单词“Total”的单元格的数组,可以使用以下正则表达式:

(?<=<tr>\s*<td>Total</td>)(\s*<td>\d+</td>)+(?=\s*</tr>)

使用jQuery的好解决方案:

HTML:

Source
<table id="source">
<tr>
    <td>Total</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>ABC</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>XYZ</td>
    <td>123</td>
    <td>567</td>
</tr>
<tr>
    <td>Total</td>
    <td>7676</td>
    <td>8767</td>
</tr>
</table>
Results
<table id="results"></table>

Array Results:
<ul id="arrayResults"/>
源代码
全部的
123
567
基础知识
123
567
XYZ
123
567
全部的
7676
8767
结果
阵列结果:
    Javascript

       $(document).ready(function() {
        $("#source tr td:contains('Total')").closest("tr").clone().appendTo("#results");
    
        var cells = [];
    
        $("#source tr td:contains('Total')").closest("tr")
        .children("td").not(":contains('Total')").each(function(index, element) {
            cells.push($(element).text());
        });
    
        $(cells).each(function(index, element) {
            $("#arrayResults").append($("<li>").text(element));
        });
    });
    
    $(文档).ready(函数(){
    $(“#source tr td:contains('Total'))。最近的(“tr”).clone()。appendTo(“#results”);
    var单元格=[];
    $(“#源tr td:contains('Total'))。最近的(“tr”)
    .children(“td”).not(“:contains('Total')”)。每个(函数(索引,元素){
    cells.push($(element.text());
    });
    $(单元格)。每个(函数(索引,元素){
    $(“#arrayResults”).append($(“
  • ”).text(元素)); }); });
  • 到目前为止,你有什么正则表达式?@c24w因为我对正则表达式不熟悉,所以我只需要通过“]*>total”得到单词total,但我想要整行……你为什么不使用JQuery呢?
    <td>7676</td>
    <td>8767</td>
    
    \D+
    
    Source
    <table id="source">
    <tr>
        <td>Total</td>
        <td>123</td>
        <td>567</td>
    </tr>
    <tr>
        <td>ABC</td>
        <td>123</td>
        <td>567</td>
    </tr>
    <tr>
        <td>XYZ</td>
        <td>123</td>
        <td>567</td>
    </tr>
    <tr>
        <td>Total</td>
        <td>7676</td>
        <td>8767</td>
    </tr>
    </table>
    Results
    <table id="results"></table>
    
    Array Results:
    <ul id="arrayResults"/>
    
       $(document).ready(function() {
        $("#source tr td:contains('Total')").closest("tr").clone().appendTo("#results");
    
        var cells = [];
    
        $("#source tr td:contains('Total')").closest("tr")
        .children("td").not(":contains('Total')").each(function(index, element) {
            cells.push($(element).text());
        });
    
        $(cells).each(function(index, element) {
            $("#arrayResults").append($("<li>").text(element));
        });
    });