Подтвердить что ты не робот

Создайте строку, которая соответствует RegEx в Python

Возможный дубликат:
Реверсирование регулярного выражения в python

Я думаю, что у меня возникла проблема, которая звучит проще, чем это... Я не слишком уверен. Я хочу определить регулярное выражение, и я хочу построить ряд строк, соответствующих ему.

Есть ли какой-либо модуль, который я могу импортировать, который получил эту функцию? Предпочтительно не использовать метод грубой силы с использованием re.search или re.match. Должен быть более элегантный способ сделать это.

4b9b3361

Ответ 1

Я работал над небольшой вспомогательной библиотекой для генерации случайных строк с помощью Python

Он включает в себя метод xeger(), который позволяет вам создать строку из регулярного выражения:

>>> import rstr
>>> rstr.xeger(r'[A-Z]\d[A-Z] \d[A-Z]\d')
u'M5R 2W4'

Сейчас он работает с большинством основных регулярных выражений.

Ответ 3

Для некоторых регулярных выражений список возможных строк может быть бесконечным. Например:

a*

включает в себя

a
aa
aaa

и т.д.. Таким образом, невозможно создать все строки для заданного регулярного выражения.