这个问题已经有了答案:
Random string that matches a regexp
9个答案
我收到一个输入字符串,这是一个正则表达式模式,我需要随机生成一个匹配该模式的字符串。我不知道这是否需要逐个分析正则表达式字符串并为每个部分使用随机生成器,或者是否有一个类具有这种现成的功能。
例子:
输入字符串=“[0-9][a-z]”
可能的输出“1a”、“9b”等。
最佳答案
据我所知,Xeger是最流行的解决方案,但它是在java中。
然而,显然有一个c版本:Fare。
如果您阅读了描述,他们会说xeger部分移植到了fare应用程序中,但没有完全移植。
包括一个Xeger的.net端口,用于从正则表达式生成随机文本。Xeger不支持所有有效的Java正则表达式。这里定义的全部内容,总结在(http://code.google.com/p/xeger/wiki/XegerLimitations)。
不过,我还没有测试过,也不知道它是否/如何工作。所以你可以自己使用。我找不到任何其他容易和准备好去,这似乎是一个差距。你会认为会有一些预科课程…
如果你知道你需要这个相对简单的东西,那么我会说你最好写你自己的小regexgenerator。它需要您解析每个输入“[..]
”并使用Random
来生成该字符串。