基于正则表达式生成随机字符串

问题描述:

是否有任何方法可以生成满足提供的正则表达式的随机文本。
我找这就像下面基于正则表达式生成随机字符串

var reg = Some Regular Expression 
var str = RandString(reg) 

我在github上的perlruby上看到了相当不错的解决方案,但我认为存在一些技术问题使得完整的解决方案变得不可能。例如,/ [0-9] + /具有无限上限,对于从中选择随机数不实用。

从未在JavaScript中看到过,但可以翻译。


编辑:谷歌搜索了几秒钟后... http://fent.github.com/randexp.js/

+0

非常有用的答案,完全符合我的要求。 – Exception

,如果你知道正则表达式是什么,你可以生成随机字符串,然后用引用的字母索引并改变它们的功能的功能需要。正则表达式差别很大,所以很难找到满足所有可能的正则表达式的东西。

你的问题是相当开放的,所以希望这个操纵您正确的解决方案。获取当前时间(以秒为单位),MD5,检查它对REGEX,返回匹配。

运行示例:http://jsfiddle.net/MattLo/3gKrb/

用法:RandString(/([A-Za-z])/ig); // expected to be a string

+0

非常有用的答案和我的要求密切相关。 – Exception

+0

小提琴给出了错误的输出..例如:'/ a/ig'给我'aaa'和'aaaa'作为输出时它应该是'a'。测试了许多其他正则表达式输入,并打破 –

对于JavaScript,下面的模块可以生成随机匹配正则表达式: