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

.net – 生成与给定正则表达式匹配的随机序列

发布时间:2020-12-14 05:57:36 所属栏目:百科 来源:网络整理
导读:有一个任意正则表达式如何生成匹配(或不匹配)给定正则表达式的随机文本序列?我对理论和实际用法都很感兴趣(需要在.NET的上下文中改进我的测试),所以可以理解文章或现有库的链接. 解决方法 从纯粹的理论角度来看,正则表达式等同于理性语言,它们是在以下基础
有一个任意正则表达式如何生成匹配(或不匹配)给定正则表达式的随机文本序列?我对理论和实际用法都很感兴趣(需要在.NET的上下文中改进我的测试),所以可以理解文章或现有库的链接.

解决方法

从纯粹的理论角度来看,正则表达式等同于理性语言,它们是在以下基础上构建的:

> {}(一种没有语言的语言)是理性的.
> {a}(具有单个单字母的语言)是理性的.
>如果L和M是两种理性语言,那么它们的联合(L或M中的单词)是合理的.
>如果L和M是两种理性语言,那么它们的连接LM(通过将L中的单词加到M中的单词构造的单词)也是合理的.
>如果L是理性语言,则L *(通过连接来自语言L的任意数量的单词构造的单词)也是合理的.

这种建设性方法补充了正则表达式识别/匹配方法,并有助于构造与表达式匹配的递归单词:

> make({})=“”> make({a})=“a”> make(A | B)=翻转币? make(A):make(B)> make(AB)= make(A)make(B)> make(A *)=翻转币? “”:make(A)make(A *)

(编辑:李大同)

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

    推荐文章
      热点阅读