/ / Перерахування всіх шаблонів, з якими відповідає регулярний вираз - python, regex, perl, pattern-matching

Перерахувати всі шаблони, які відповідають регулярному вираженню - python, regex, perl, matching pattern

Я шукаю спосіб перелічити всі можливі шаблони з кінцевого регулярного виразу (без дублікатів). Чи є доступне джерело?

Відповіді:

3 для відповіді № 1

Незважаючи на те, що він не охоплює деякі розширені функції та має свою частку інших застережень, Regexp :: Genex схоже на те, що ви шукаєте.

Там також це потік PerlMonks що є достатньо релевантним (а також пояснює, як Regexp :: Genex може не зробити для вас, і деякі альтернативні варіанти).

В іншому випадку, за Джефрі Фрідл Освоєння регулярних виразів, ви можете використовувати модифікатор / g, пов'язаний з розширенням (? {CODE}) і a шаблон, який ніколи не збігатиметься, ala:

perl -E "$_ = "Mastering Regular Expressions"; /(p{L}*)(?{ say qq![$^N]! })(?!)/g;"

0 для відповіді № 2

Програма Haskell на основі Perl Regexp::Genex можна знайти на Github і на Hackage.

На думку автора, він був натхненний Regexp :: Genex, але "використовує підхід для випадкових прогулянок для класів символів, замість перерахування всіх можливостей".