如何生成与给定正则表达式匹配的随机字符串?

前端之家收集整理的这篇文章主要介绍了如何生成与给定正则表达式匹配的随机字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
重复:

07000

不,不是。我正在寻找一种简单而通用的方法,我可以实际实现。这比随机生成密码要困难得多。

我想创建一个采用正则表达式的应用程序,并显示与该表达式匹配的10个随机生成的字符串。它应该帮助人们更好地了解其正则表达式,并决定是否足够安全以进行验证。有人知道一个简单的方法吗?

一个明显的解决方案是写(或窃取)正则表达式解析器,但这似乎真的在我的头上。

我重复一遍,我正在寻找一种简单而普遍的方法来做到这一点。

编辑:蛮力的方法是不成问题的。假设随机字符串只是每秒[a-z0-9] {10}和100万次迭代,则需要65 years遍历所有10个字符串的空间。

将您的正则表达式解析为 DFA,然后随机遍历DFA,直到最终达到接受状态,为每个转换输出一个字符。每个步行都会产生一个与表达式匹配的新字符串。

这对于不是真正规则的“常规”表达式来说不起作用,例如具有反向引用的表达式。这取决于你的表达方式。

原文链接:/regex/357481.html

猜你在找的正则表达式相关文章