Кто-нибудь знает алгоритм для проверки того, какое из двух групповых выражений является более общим, чем другое?Например, я хотел бы сравнить
*/foo/foo.bar
с
*.bar
Очевидно, что первое выражение содержится во втором.Я знаю, что это невозможно для регулярных выражений (по крайней мере, если у вас нет лишнего времени, насколько я помню, это в классе сложности Не элементарный), но это может быть возможно для групповых выражений, которые намного меньшевыразительный.Я попытался собрать простой алгоритм Python, но он становится очень неприятным, когда дело доходит до особых случаев.У кого-нибудь есть идея, если есть алгоритм для этой проблемы?
ОБНОВЛЕНИЕ:
Я не хочу использовать какой-либо алгоритм перебора, так как он не будет работать вообще, из-за производительностипричины
С уважением,
Джеральд