Я правильно понимаю, что курсор оказывается между открывающей и закрывающей скобкой тега? Где-то внутри <table>, например, а не внутри <table> </table>? Тогда позиция границ открывающего элемента находится просто, с помощью find() — для правой границы и rfind() — для левой.
Закрывающий тег искать сложнее. Можно использовать идею балансирования с помощью стека. Идете после открывающего тега вперед. Если встречаете открывающий тег <table>, добавляете его в стек. Если встречаете закрывающий тег </table>, удаляете один table из стека. Остальные теги (не table) в таком случае можно игнорировать. Как только встретится закрывающий тег </table> при пустом стеке (извлечь из стека нечего), значит это искомый закрывающий тег, а не вложенный.
Конкретная реализация остается за вами.