Обратите внимание, что если ваш список не содержит все склонения существительных и спряжения глаголов, ваша программа не выдаст ничего подобного all шестибуквенным словам на латыни.
Например, ваш список, вероятно, содержит только именительный падеж имен существительных. Существительные первого склонения, у которых именительный падеж состоит из пяти букв (например, mensa ), имеют родительный падеж из шести букв (например, mensae ). Все склонения содержат случаи, когда длина существительного отличается от именительного падежа.
То же самое относится и к глаголам, каждый из которых имеет (как минимум) четыре основные части, которые могут иметь различную длину, и чьи спряжения могут быть также различной длины. Таким образом, настоящее время от первого лица в единственном числе lego имеет длину четыре буквы, а его инфинитив legere составляет шесть; porto - это пять в единственном числе от первого лица, но шесть в единственном числе от второго лица, portas .
Я полагаю, что в принципе возможно создать механизм, который программно отклоняет и соединяет латинские слова, учитывая достаточную метаинформацию о каждом слове. Python на самом деле был бы неплохим языком для этого. Но это гораздо более сложная задача, чем просто написание регулярного выражения.