开发者

Generate a String that matches a RegEx in Python [duplicate]

This question already has answers here: Closed 10 years ago.

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜