У меня есть некоторый Java-код, если он может вам помочь
Pattern toRegex(String pattern) {
final String word = "[a-z]+";
// replace duplicate # (this makes things simpler)
pattern = pattern.replaceAll("#(?:\\.#)+", "#");
// replace *
pattern = pattern.replaceAll("\\*", word);
// replace #
// lone #
if ("#".equals(pattern)) return Pattern.compile("(?:" + word + "(?:\\." + word + ")*)?");
pattern = pattern.replaceFirst("^#\\.", "(?:" + word + "\\.)*");
pattern = pattern.replaceFirst("\\.#", "(?:\\." + word + ")*");
// escape dots that aren't escapes already
pattern = pattern.replaceAll("(?<!\\\\)\\.", "\\\\.");
return Pattern.compile("^" + pattern + "$");
}
Может быть, кто-то может перевести это в фитон.