根据Regex生成随机字符串?

时间:2013-04-07 06:59:51

标签: ruby regex string random

我想知道是否有办法从正则表达式生成随机字符串,如:

/[a-z0-9]{5}/.to_s
#=> "dsar3"

我找到了randexphttps://github.com/benburkert/randexp),但似乎无法使用上面的基本示例,无论如何我觉得它已经被遗弃了。

任何?

2 个答案:

答案 0 :(得分:4)

Perl有一个可以执行此操作的CPAN模块。它的工作原理是将正则表达式转换为生成语法。这个概念可能适用于Ruby,但是有点工作。

请参阅http://metacpan.org/pod/Parse::RandGenhttp://metacpan.org/pod/Parse::RandGen::Regexp

答案 1 :(得分:2)

不,但是如何:

(0..255).map(&:chr).select{|x| x =~ /[a-z0-9]/}.sample(5).join
#=> "qif0l"