2012-07-03 53 views
4

確定的問題是,給定的一小部分eg:1/30.3333333應該表示爲0.(3)0.2325555作爲0.232(5)我已經想出一個辦法分裂時其一個單一的數字重複串中的答案:查找重複的圖案在一個字符串

使用re.findall(r'^(.+?)((.)\3+)$', '42344444')[0][:-1](忽略號碼前0.

,但我想知道如何做到這一點如果模式0.324324324..得到0.(324)

在經常性部分 .
+1

你給出的數字爲分數或浮點?如果是後者,這是不可能的。 – Antimony

+0

目標是發現任意長度的循環模式?如果是這樣,那麼不能用正則表達式來完成。 –

+0

實際上忘記了小數部分..說你給了字符串'23154545454'你會如何將字符串分成非循環部分和循環部分 – insane

回答

2

添加+

>>> re.findall(r'^(.+?)((.+)\3+)$', '42344343434')[0][:-1] 
('42344', '343434') 
+1

祝福你! !非常感謝 ! – insane

相關問題