我有这样的数据行:
(ABCD:0.00825830327156463345,(LKSDJF:0.00000254996576400768,SDFADS:0.00917039554517301569):0.16367666117488463562,OIUO:0.00401845774067355072):0.0;
((OIUO:0.00298782818816040099,SDFADS:0.00148583412998809050):0.27857371651571366522,ABCD:0.00188545323182991121,LKSDJF:0.00799482946501124843):0.0;
我正在尝试使用regex在每个“:randomfloatingpoint\u number”后面插入一个字符串。有时数字后面是逗号,有时是分号。你知道吗
这是我写的代码:
line = re.sub(r"):[0-9\.])",r"\1 " + string, line)
但是我得到一个错误信息,括号是不平衡的:
Traceback (most recent call last):
File "AssignFGbranches.py", line 31, in <module>
line = re.sub(r"):[0-9\.])",r"\1 " + string, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/usr/lib/python2.7/re.py", line 242, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
我做错什么了?你知道吗
谢谢!你知道吗
有两个问题。一是需要转义字面上的close paren。另一个原因是该组的开放参数丢失:
你需要避开括号。此外,没有紧跟右大括号的数字。你可能想要这样的东西:
这将符合以下条件:
554517301569
):0.16367666117488463562,
奥尤相关问题 更多 >
编程相关推荐