Generate a String that matches a RegEx in Python [duplicate]
Possible Duplicate:
Reversing a regular expression in python
I think I ran into a problem that sounds easier than it is... I'm not too sure. I wa开发者_如何学Pythonnt to define a regular expression, and I want to build a number of strings matching it.
Is there any module I can import that has got this functionality? Preferably not a brute-force approach using re.search
or re.match
. There must be a more elegant way to do that.
I've been working on a little helper library for generating random strings with Python
It includes a method, xeger()
that allows you to create a string from a regex:
>>> import rstr
>>> rstr.xeger(r'[A-Z]\d[A-Z] \d[A-Z]\d')
u'M5R 2W4'
Right now, it works with most basic regular expressions.
The exrex module does this: https://github.com/asciimoo/exrex.
For some regular expressions, the list of possible strings can be infinite. For example:
a*
includes
a
aa
aaa
etc. Thus, there is no way to generate all strings for a given regex.
精彩评论