regex 寻找正则表达式[已关闭]

oalqel3c  于 12个月前  发布在  其他
关注(0)|答案(6)|浏览(155)

**已关闭。**此问题为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,它可以是更多的零,从而导致不止一对连续的零。
我也知道,我有可能的情况是,两个零在前面,在中间,在最后。我只是不太确定如何创建一个正则表达式。
任何帮助都非常感谢。

yc0p9oo0

yc0p9oo01#

试试这个:
1*(011*)* 00(110) 1*
解释:

***1 :任何数量的前导1
**(011
:如果00之前有一个0,则后面不能有另一个0,因此只允许一个或多个1;此模式可以重复任意次数
00:两个0
**(110)
:如果00后面有一个0,则它前面不能有另一个0,因此只能有一个或多个1;此模式可以重复任意次数
***1 *:任意数量的尾随1

xmakbtuz

xmakbtuz2#

这个问题的最佳答案是**(1 + 01)* 00(1 + 10)*

rmbxnbpk

rmbxnbpk3#

我相信会是这样的

((1*)(01)*))* 00 ((11*)0)*1*

字符串

jucafojl

jucafojl4#

序列:

  • 除了以1结尾的00以外的任何数字
  • 00
  • 除了00,从1开始
mqkwyuun

mqkwyuun5#

我的答案是:(1 + 01) 00(1 + 10)*
说明:
连续的零不能在前面或后面跟着另一个零。因此,00前面应该有一个1,可以是1或01。它可以后面是1或10。

thigvfpy

thigvfpy6#

它是错误的尝试00110011它一定是不满意的,但在这里它是满意的首先采取对00,然后采取110,然后采取011,所以在整个它将是00110011,它是满意的,所以它是错误的

相关问题