我想知道是否有办法从正则表达式生成随机字符串,如:
/[a-z0-9]{5}/.to_s
#=> "dsar3"
我找到了randexp
(https://github.com/benburkert/randexp),但似乎无法使用上面的基本示例,无论如何我觉得它已经被遗弃了。
任何?
答案 0 :(得分:4)
Perl有一个可以执行此操作的CPAN模块。它的工作原理是将正则表达式转换为生成语法。这个概念可能适用于Ruby,但是有点工作。
请参阅http://metacpan.org/pod/Parse::RandGen和http://metacpan.org/pod/Parse::RandGen::Regexp
答案 1 :(得分:2)
不,但是如何:
(0..255).map(&:chr).select{|x| x =~ /[a-z0-9]/}.sample(5).join
#=> "qif0l"