字母表为{0, 1}
。
A" 0s"表示0s的子字符串不包含在0s的较长子字符串中。
我想出了:(0(00)*)* 1* 00(00)* 1* (0(00)*)*
这是对的吗?
答案 0 :(得分:1)
对于一个偶数长度的零块,其词汇为1和0:
^1*(00)+1*$
答案 1 :(得分:1)
grep -oP '(?<=^|1)(00)+(?=1|$)' input
(00)+
- 偶数个零(?<= ^ | 1 )
- 之前(左上下文):“1
”或字符串的开头(?= 1 | $ )
- 之后(右上下文):“1
”或字符串的结尾grep -oP
- regexp可以以多种不同的方式使用; -P
- 包含Perl扩展名; grep -o
- 仅打印匹配的部分带输入
000
0000
00001
11100110000001
输出
0000
0000
00
000000
答案 2 :(得分:0)
这应该有效
(\b(00){1,})(?!0)
我也尝试了你的解决方案,但它没有工作