在 Python 中生成与正则表达式匹配的字符串

发布于 2024-10-10 20:46:54 字数 355 浏览 6 评论 0原文

可能的重复:
在 python 中反转正则表达式

我想我遇到了一个听起来更容易的 比它是...我不太确定。我想定义一个正则表达式,并且我想构建一些与其匹配的字符串。

我可以导入任何具有此功能的模块吗?最好不要使用 re.searchre.match 进行暴力破解。必须有一种更优雅的方法来做到这一点。

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 want 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

若沐 2024-10-17 20:46:54

我一直在开发一个小帮助程序库,用于 用 Python 生成随机字符串

它包括一个方法, xeger() 允许您从正则表达式创建字符串:

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

现在,它适用于最基本的正则表达式。

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.

撩人痒 2024-10-17 20:46:54

exrex 模块执行以下操作:https://github.com/asciimoo/exrex

The exrex module does this: https://github.com/asciimoo/exrex.

逆光飞翔i 2024-10-17 20:46:54

对于某些正则表达式,可能的字符串列表可以是无限的。例如:

a*

包含

a
aa
aaa

等。因此,无法为给定的正则表达式生成所有字符串。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文