Если вы не возражаете взломать несколько строк Perl, есть пакет Regexp :: Genex , который вы можете использовать для создания чего-то, что вам нужно, например
# perl -MRegexp::Genex=:all -le 'print for strings(qr/\/(user|group|country)\/([a-z]+)\//)'
/user/dxb/
/user/dx/
/user/d/
/group/xd/
/group/x/
# perl -MRegexp::Genex=:all -le 'my $re=qr/\/(user|group|country)\/([a-z]+)\/(phone|videos)/;$Regexp::Genex::DEFAULT_LEN = length $re;print for strings($re)'
/user/mgcgmccdmgdmmzccgmczgmzzdcmmd/phone
/user/mgcgmccdmgdmmzccgmczgmzzdcmm/phone
/user/mgcgmccdmgdmmzccgmczgmzzdcm/phone
/user/mgcgmccdmgdmmzccgmczgmzzdc/phone
...
/group/gg/videos
/group/g/phone
/group/g/videos
/country/jvmmm/phone
/country/jvmmm/videos
/country/jvmm/phone
/country/jvmm/videos
/country/jvm/phone
/country/jvm/videos
/country/jv/phone
/country/jv/videos
/country/j/phone
/country/j/videos
#
Примечание:
1) Вам нужно написать оболочку для анализа исходного файла, токенизации (извлечения) исходных шаблонов, экранирования определенных символов в правиле, например, "/", и, возможно, разделения ваших правилна более управляемые части, прежде чем расширяться, через Genex, а затем выводить результаты в нужном формате.
2) Для установки модуля введите: cpan Regexp :: Genex