我对python很陌生,所以我有一个字典,里面有一些键,还有一个字符串。如果在字典中找到的模式存在于字符串中,我必须替换字符串。字典和字符串都非常大。我正在使用正则表达式来查找模式。
一切正常,直到弹出这样的键 '-(' 或这个 '(-)' 在这种情况下,python 给出了不平衡括号的错误。
这是我编写的代码的外观:
somedict={'-(':'value1','(-)':'value2'}
somedata='this is some data containing -( and (-)'
for key in somedict.iterkeys():
somedata=re.sub(key, 'newvalue', somedata)
这是我在控制台中遇到的错误
Traceback (most recent call last):
File "<console>", line 2, in <module>
File "C:\Python27\lib\re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "C:\Python27\lib\re.py", line 244, in _compile
raise error, v # invalid expression
error: unbalanced parenthesis
我还使用正则表达式编译器尝试了很多方法并进行了很多搜索,但没有找到任何解决问题的方法。任何帮助表示赞赏。