7

我想知道是否有一种方法可以从正则表达式生成随机字符串,例如:

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

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

任何人?

4

2 回答 2

4

Perl 有一个 CPAN 模块可以做到这一点。它通过将正则表达式转换为生成语法来工作。这个概念可能适用于 Ruby,但需要一点工作。

http://metacpan.org/pod/Parse::RandGenhttp://metacpan.org/pod/Parse::RandGen::Regexp

于 2013-04-07T07:13:05.320 回答
2

不,但如何:

(0..255).map(&:chr).select{|x| x =~ /[a-z0-9]/}.sample(5).join
#=> "qif0l"
于 2013-04-07T07:39:47.193 回答