-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'? –
向我们展示替代代码 –