Как я могу генерировать все возможные перестановки от регулярного выражения Perl?

Я знаю, что можно генерировать все перестановки из списка, с помощью шарика или Алгоритма:: Переставьте, например - но как Вы генерируете все возможные перестановки от регулярного выражения?

Я хочу сделать как:

@perms = permute( "/\s[A-Z][0-9][0-9]/" );
sub permute( $regex ) {
    # code - put all permutations of above regex in a list
    return @list;
}

6
задан brian d foy 17 April 2010 в 13:44
поделиться

2 ответа

См. раздел 6.5 (PDF) в Perl высшего порядка . Подумайте о покупке печатной книги: это произведение искусства.

Существует также Regexp :: Genex на CPAN .

6
ответ дан 16 December 2019 в 21:37
поделиться

Любая возможная реализация должна иметь разумную максимальную длину для сгенерированных строк. Если где-либо в этом регулярном выражении есть + или * , возможные варианты могут быть без конца. Regexp :: Genex считает это.

2
ответ дан 16 December 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: