我有一个让regexp识别“正确”代码的任务:
010101
0101010
1111111
000000
这是“不正确”代码的示例:
0110
001
11101
01
我写了regexp:
^(?:([01])(?!\1))+$|^([01])\2*$
它有效..但我不明白为什么:)我不明白这一部分:
(?:([01])(?!\1))+
如果此([01])
是“第一捕获组”,则此(?!\1)
是not what we get in first capturing in 1-st capturing group
。但是,为什么它不认识这一点(这是正确的行为,但是为什么呢?):
012
?我的意思是,2
不是0
,这就是我对(?!\1)
的期望