我想知道是否有软件,给定正则表达式,当然还有一些其他约束,如长度,产生始终匹配给定正则表达式的随机文本.谢谢
Xeger有能力做到:
String regex = "[ab]{4,6}c"; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches(regex);
所有正则表达式都可以表示为无上下文语法.并且已经有一个很好的算法用于从给定长度的任何CFG产生随机句子.所以将正则表达式上转换为cfg,应用算法,并且wham,你已经完成了.
是的,存在可以为正则表达式生成随机匹配的软件:
Exrex,Python
Pxeger,Javascript
正则表达式,Haskell
Xeger,Java
Xeger,Python
Generex,Java
rxrdg,C#
String :: Random,Perl
regldg,C
paggern,PHP
ReverseRegex,PHP
randexp.js,Javascript
EGRET,Python/C++
MutRex,Java
票价,C#
rstr,Python
randexp,Ruby
goregen,Go
bfgex,Java
regexgen,Javascript
strgen,Python
随机字符串,Java
regexp-unfolder,Clojure
字符串随机,Haskell
rxrdg,C#
Regexp :: Genex,Perl
StringGenerator,Python
斯特兰德,去吧
regen,Go
雷克斯,C#
regexp-examples,Ruby
查看RandExp Ruby gem.尽管只是以有限的方式,它可以满足您的需求.(它不适用于所有可能的正则表达式,只有符合某些限制的正则表达式.)
如果您需要Javascript解决方案,请尝试使用randexp.js.