[英]Automata - Regular Expression
我一直在尝试从下面做一个正则表达式:
L = {01,0011,000111,00001111,0000011111,000000111111,...}
但我只是想不通。 我想到的第一件事是
0(0)^ * 1(1)^ *
有可以测试的应用程序吗?
如果无法通过正则表达式完成此操作,那么可以执行NFA或DFA吗?
但我不确定这是否是该语言的答案。 好的撒玛利亚人可以帮助我吗? 欣赏它。
子例程可能满足您的需求:
(?<!0)(0(?1)?1)(?!1)
(?1)
表示调出在第一组中 ,即在parren之间捕获的模式 。 但是,这并非在所有正则表达式引擎中都可用-顺便说一下,(负)后向(?<!...)
也不是。
之间差(?1)
和\\1
是(?1)
回顾所捕获的图案而\\1
回顾所捕获的数据 。
我不知道您说它应该是regex的意思,因为它也提到了自动机/正则表达式。
根据自动机理论:
如果您正在谈论这种形式语言的正则表达式(具有相等的0和1,并且所有0必须后跟1) ,则它不是一种正则语言。 使用抽水引理可以证明该语言不是常规语言。
但是,该语言可以表示为{0 i 1 i | i> 0} ; 我属于一组正整数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.