Как с помощью регулярных выражений вычленить тег table, но в котором еще есть теги table ?
Регулярка - не лучшее решение, в данном случае.
stackoverflow.com/a/1732454
php.net/manual/ru/class.domdocument.php
code.google.com/p/phpquery
Понятно, что ваша регулярка находит первый закрывающий /table и возвращает результат. Но если у вас во всем коде соблюдены отступы, то можно сделать упор на них. Т.е. в данном случае вам достаточно привязать ваш /table к началу строки. Что-то вроде ^</table>. В иных случаях может пригодится фиксировать количество "табов" от начала строки.