繁体   English   中英

自动机-正则表达式

[英]Automata - Regular Expression

我一直在尝试从下面做一个正则表达式:

L = {01,0011,000111,00001111,0000011111,000000111111,...}

但我只是想不通。 我想到的第一件事是

0(0)^ * 1(1)^ *

有可以测试的应用程序吗?

如果无法通过正则表达式完成此操作,那么可以执行NFA或DFA吗?

但我不确定这是否是该语言的答案。 好的撒玛利亚人可以帮助我吗? 欣赏它。

子例程可能满足您的需求:

(?<!0)(0(?1)?1)(?!1)

正则表达式可视化

Debuggex演示

(?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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM