Не работает регулярное выражение по выборке HTML <table>

Рейтинг: 0Ответов: 1Опубликовано: 15.02.2023

Есть такое регуляроное выражение для извлечения всего тега ( включительно ):

Regex tableLookupPattern = new Regex("<table class=\"table\" style=\"table-layout:fixed; \">(.*)</table>");

Но оно работает только для первой таблицы, потом в него попадают ненужные символы. Как это можно исправить?

HTML:

<body>
      <div class="main-content">
        <main id="ID0EH">
          <header>
            <nav>
              <ul>
                <li>
                  <a title="1. Untitled Chapter">1. Untitled Chapter</a>
                </li>
              </ul>
            </nav>
            <img style="height:7mm" alt="logo" src="" />
          </header>
          <section>
            <!--chapter container-->
            <div class="chapter_container" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--section container--><div id="ID0ER" class="section_container">
      <!--topic container--><div id="ID0EY" class="topic_container">
        <!--topic title container--><div class="topic_title">Frame, colsep, rowsep</div>
        <!--body--><div class="body">
          <div><!--p--><div style="">Inserting a table</div></div>
          <div><!--image--><img class="image" src="http://localhost:88/SanovoNext/ImageHandler.aspx?url=http://placekitten.com/200/300&amp;w=&amp;h=&amp;ro=&amp;mode=xhtmlGen&amp;max_width=&amp;max_height=&amp;dpi=&amp;reportId=" original_width="mm" original_height="mm" style="" /></div>
          <div><!--p--><div style="">
            <!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>dsf</div></td><!--entry--><td style="" columnName="" class="entry "><div>dsf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr></tbody></table>
          </div></div>
          <div><!--p--><div style="">
            <!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>ssdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sfd</div></td></tr></tbody></table>
          </div></div>
          <div><!--p--><div style="">
            <!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry entry_header_attributes "><div>fg</div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>f</div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdfs</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdfd</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td></tr></tbody></table>
          </div></div>
        </div>
      </div>
    </div>
  </div>
          </section>
        </main>
      </div>
    </div>
  </body>

Ответы

▲ 0

Так что не работает с примером из комментария?

<table class=""table"" style=""table-layout:fixed; "">(.*?)</table>

Мне кажется это ваш искомый вариант - https://regex101.com/r/JYQQb0/1