查找包含增加的1的子字符串
我有一个仅由0and 组成的字符串1,我需要找到一个以 one 开头1并以另一个1s级联结尾的子字符串,1连续的每个匹配都1增加一个。
例如,0101101011101将捕获1 0 11 010 111。
我试过
(?:(1(?(1)1)).*?)+
但它不起作用。
| 输入 | 团体 | 输出 |
|---|---|---|
01 |
0[(1)] |
1 |
1001111 |
[(1)00(11)]11 |
10011 |
010011111 |
0[(1)00(11)(111)] |
10011111 |
0100111110001110 |
0[(1)00(11)(111)]0001110 |
10011111 |
0100111011001110 |
0[(1)00(11)101100(111)]0 |
10011101100111 |
0100111110011110 |
0[(1)00(11)(111)00(1111)]0 |
10011111001111 |
回答
这应该有效:
^.*?K(?:((?(1)1)1).*?)*(?1)
https://regex101.com/r/dam2qA/1/