Где это работает, точно? Если вы запускаете это в браузере, в Javascript есть более эффективные способы, чем регулярные выражения (например, селекторы jQuery на tr: has (td) в качестве случайного примера)
Если вы работаете с серверной средой, например, PHP, регулярное выражение может работать.
Что-то вроде: (] +>.?)
Причина, по которой я предлагаю, в отличие от всего прочего - вы хотите получить весь контент, поэтому заключите все это в скобки, у TR и TD может быть или не быть ширина, никогда не повредит быть уверенным в таких вещах .
. *? конструкция в большинстве двигателей регулярных выражений не должна быть жадной, поэтому сопоставляйте наименьшую соответствующую строку - что должно помешать ... сопоставлению. Все равно потребуется многострочная и нечувствительность к регистру, обычно m и i, которые также должны быть установлены. (Я не проверял это, однако)
Но, как указывает Роберт, на стороне сервера правильный синтаксический анализатор HTML был бы лучше, либо расширения DOM, либо XML должны иметь с ним дело.