Regex 查找给定语言的正则表达式

Regex 查找给定语言的正则表达式,regex,regular-language,Regex,Regular Language,我需要找到一个L的正则表达式,它由所有字符串组成,在字母表E={0,1}上,字符串00最多出现两次。 例如,000在L中,但0000不是 我试着找,但找不到。你有什么想法吗 提前谢谢。这是00.*00的倒数 echo "000" | grep -v "00.*00" 以下操作应该有效(其中e是空字符串): 每当你必须用正则表达式解决一个问题,并且有一个条件说“最多……诸如此类”,你通常只需要列出所有的可能性。重叠发生数?这很困难,而且可能不完全可能,至少不完全可能。不幸的是,没有额外的信息。1

我需要找到一个L的正则表达式,它由所有字符串组成,在字母表
E={0,1}上,字符串00最多出现两次。

例如,
000
在L中,但
0000
不是

我试着找,但找不到。你有什么想法吗


提前谢谢。

这是
00.*00的倒数

echo "000" | grep -v "00.*00"
以下操作应该有效(其中
e
是空字符串):


每当你必须用正则表达式解决一个问题,并且有一个条件说“最多……诸如此类”,你通常只需要列出所有的可能性。

重叠发生数?这很困难,而且可能不完全可能,至少不完全可能。不幸的是,没有额外的信息。
1*(01+)*(00?(1+00 | 0)?(1+0)*1*
00100
肯定是用描述的语言写的,但你不匹配。00100用这种语言写?@g3d是的,如果你把所有的
*
都拿出来,不要重复(即它们变成空字符串),你可以看到00100作为中间选项之一。
(1|01)* (e|0|00|000|001(1|01)*00) (1|10)*