**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
22天前关闭。
Improve this question的
我有一个关于为给定语言找到正则表达式的简单问题。
我被赋予语言 L,其中:
- L* = {w ∈ {0,1}*:w 恰好有一对连续零}
我的第一次尝试是尝试 L((0 + 1)* 00(0 + 1)),但我注意到问题在于我有(0 + 1) 的地方,因为如果选择0,它可以是更多的零,从而导致不止一对连续的零。
我也知道,我有可能的情况是,两个零在前面,在中间,在最后。我只是不太确定如何创建一个正则表达式。
任何帮助都非常感谢。
6条答案
按热度按时间yc0p9oo01#
试试这个:
1*(011*)* 00(110) 1*
解释:
***1 :任何数量的前导1
**(011):如果00之前有一个0,则后面不能有另一个0,因此只允许一个或多个1;此模式可以重复任意次数
00:两个0
**(110):如果00后面有一个0,则它前面不能有另一个0,因此只能有一个或多个1;此模式可以重复任意次数
***1 *:任意数量的尾随1
xmakbtuz2#
这个问题的最佳答案是**(1 + 01)* 00(1 + 10)*
rmbxnbpk3#
我相信会是这样的
字符串
jucafojl4#
序列:
mqkwyuun5#
我的答案是:(1 + 01) 00(1 + 10)*
说明:
连续的零不能在前面或后面跟着另一个零。因此,00前面应该有一个1,可以是1或01。它可以后面是1或10。
thigvfpy6#
它是错误的尝试00110011它一定是不满意的,但在这里它是满意的首先采取对00,然后采取110,然后采取011,所以在整个它将是00110011,它是满意的,所以它是错误的