在其中一个StackOverflow播客(人们正在讨论用于测试数据库的数据生成的那个 - #11或#12)中,Jeff提到了类似“反向正则表达式”的东西,它们被使用了正是出于这个目的:给定一个正则表达式,产生一个最终匹配所述正则表达式的字符串。
这整个概念的正确用语是什么?这是一个众所周知的概念吗?
答案 0 :(得分:6)
Perl模块String::Random
(在CPAN中)执行此操作。采用正则表达式的子集,并随机遍历它。
答案 1 :(得分:5)
摘要:Recursive transition network(postmodernism generator作为一个有趣的例子)
一个专业化将是你的“反向正则表达式”。
关于术语:正则表达式是语法的一种形式,它描述属于特定常规的所有单词语言(即表达式中所有输入匹配)。
因此,可以调用您的问题:“如何创建与给定正则表达式匹配的随机单词”或“如何获取属于指定常规语言的随机单词”< / em>的
答案 2 :(得分:0)
绝对可以从正则表达式生成数据。该领域正在开发一些开源项目。
关于how to generate random password from regex的教程将向您解释它是如何完成的。本教程中使用xeger(逆向正则表达式,一个开源项目)。请完成本教程以了解更多信息。
答案 3 :(得分:-1)
没有“反向正则表达”这样的东西。正则表达式就是:表达式。它表达了一个语言,它由一组(可能是无限的)字符串组成。
逆转在表达式的 use 中:它通常用于报告字符串是否在语言中,现在用于生成该语言的字符串。