Как правильно сформулировать регулярное выражение для поиска xml тегов с возможными атрибутами?
<\/?[\w\s'\"=]*>
Просто перебрать все символы, которые могут встречаться в теге. Но, присоединюсь, это лучше делать специальными библиотеками

Тот же bs4 прекрасно справится
soup = BeautifulSoup(xml, 'lxml')
print([tag.name for tag in soup.find_all()])

Либо через стандартный xml
tree = ET.ElementTree(ET.fromstring(xml))
for elem in tree.iter():
    print(elem.tag)
Не стоит парсить структурированные данные. Есть библиотеки для работы с XML.