).

этомОтвет переполнения стека представьте, что вам нужно выбрать конкретную таблицу, а затем все ее строки. Из-за вседозволенности HTML, все три из следующих являются законной разметкой:

<table id="foo"><tr>...</tr></table>
<table id="foo"><tbody><tr>...</tr></tbody></table>
<table id="foo"><tr>...</tr><tbody><tr>...</tr></tbody></table>

Вы беспокоитесь о таблицах, вложенных в таблицы, и поэтому не хотите использовать XPath вроде
table[@id="foo"]//tr.

Если бы вы могли указать желаемый XPath в качестве регулярного выражения, он мог бы выглядеть примерно так:
table[@id="foo"](/tbody)?/tr

В общем, как вы можете указать выражение XPath, которое разрешает дополнительный элемент в иерархии селектора?

Чтобы было ясно, я не пытаюсь решить реальную проблему или выбрать конкретный элемент конкретного документа. Я прошу методы, чтобы решить класс проблем.

Ответы на вопрос(3)

Ваш ответ на вопрос