【发布时间】:2010-05-25 13:49:38
【问题描述】:
在其中一个 StackOverflow 播客中(人们正在讨论用于测试 DB 的数据生成——#11 或 #12),Jeff 提到了类似“反向正则表达式”之类的东西,它们正是用于此目的: 给定一个正则表达式,生成一个最终匹配所述正则表达式的字符串。
整个概念的正确术语是什么?这是一个众所周知的概念吗?
【问题讨论】:
在其中一个 StackOverflow 播客中(人们正在讨论用于测试 DB 的数据生成——#11 或 #12),Jeff 提到了类似“反向正则表达式”之类的东西,它们正是用于此目的: 给定一个正则表达式,生成一个最终匹配所述正则表达式的字符串。
整个概念的正确术语是什么?这是一个众所周知的概念吗?
【问题讨论】:
Perl 模块 String::Random(在 CPAN 中)执行此操作。获取正则表达式的子集,并随机遍历它。
【讨论】:
摘要:Recursive transition network(以postmodernism generator 为例)
您的“反向正则表达式”是一种专长。
关于术语:正则表达式是语法的一种形式,它描述了属于特定正则的所有单词语言(即所有输入匹配表达式)。
因此有人可以将您的问题称为:“如何创建与给定正则表达式匹配的随机词” 或 “如何获得属于指定常规语言的随机词”。
【讨论】:
绝对可以从正则表达式生成数据。一些开源项目正在这方面的开发中。
关于how to generate random password from regex 的教程将向您解释它是如何完成的。教程中使用了xeger(正则表达式的反向,一个开源项目)。请完成教程以了解更多信息。
【讨论】: