加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:35:13 所属栏目:百科 来源:网络整理
导读:重复: 07000 不,不是。我正在寻找一种简单而通用的方法,我可以实际实现。这比随机生成密码要困难得多。 我想创建一个采用正则表达式的应用程序,并显示与该表达式匹配的10个随机生成的字符串。它应该帮助人们更好地了解其正则表达式,并决定是否足够安全
重复:

07000

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

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读