-1
所以我有一個字符串,它是這樣的:如何在Python中替換自包含的字符串?
C(=O)(CNCC(=O)O)O
我想捕捉的字符串C(= O)(任何)O /或作爲事實上,C(O)(東西)= O /與例如字母A代替它 - 使代碼的輸出應該是其中之一(並沒有真正物質):
A(CNCA)
或
A(CNCA)A
到目前爲止,我已經能夠計算它的所有出現(但是過了好一會兒也行)與以下正則表達式:
len(re.findall(r'(?=C\(((O|=O))\)(\(.*\))?(=O|O)($|\)))', string))
然而,當我打印由re.findall創建的列表,它只有一些看似不一致的成員,所以我不能遍歷它來代替。 re.sub也沒有工作,我認爲積極的向前看起來很糟糕。另外,因爲匹配像(串)g,捕獲組似乎很難使用。
我該如何解決這樣的問題?
你需要一個能算括號的事情。正則表達式在這裏可能不是正確的選擇。類似的原因,爲什麼你不能用正則表達式解析通用SGML。 –
「,並用字母A代替它」 - 那爲什麼輸出不是簡單的'A'? –
向我們展示替代代碼 –