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

前端之家收集整理的这篇文章主要介绍了.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 *)

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