2017-06-13 20 views
-1

我有一個關於python正則表達式的問題。 我想從1開始計數,以1結束,在1之間只有0。python正則表達式與重複字符串

的問題是,如果數字是10101,它應該返回2,但基於我正則表達式,則返回1

[(1)][(0)]+[(1)] 

我怎樣才能改變這個正則表達式來算重複101S 1兩者之間?

https://regex101.com/r/R78CRD/1/

+1

*如果數字是10101,它應該返回2 ... *你是什麼意思是什麼呢? – revo

+0

@revo感謝您的回覆。這意味着該字符串中有兩個101。前三個數字和後三個數字。 –

+0

在你的評論中,你正在談論數字,而不是數字。使用適當的術語,人們會知道你的意思。 – DyZ

回答

3

正則表達式只計算不重疊的匹配。然而,你的正則表達式匹配兩個1 s,所以正則表達式跳轉到第3個1並繼續從那裏計數。

可以使用lookahead assertion來解決這個問題:

10+(?=1)