Python正则表达式中的字面括号
我有一个字典(比如说英语 - 克罗地亚语)。这个字典可能包含句子和短语。我正在把一个文件从 "英语文本" = "英语文本"
的格式翻译成 "英语文本" = "克罗地亚文本"
的格式,并且使用 Python 的正则表达式模块来完成这个工作。
我使用的正则表达式看起来像这样(假设变量 original 是需要翻译的英语文本):
regexString = '(?<= = ")'+original+'(?=")'
这样我就能准确地捕捉到右边引号内的英语文本,并用克罗地亚语替换它。不过,如果原始文本里面有括号,就会出现问题。例如:
original = 'This is a wonderland :)'
在这种情况下,会出现“括号不平衡”的错误。如果 original 是硬编码的,我可以通过添加以下内容来解决这个问题:
original = 'This is a wonderland :\\)'
但是,整个文件里都有很多 *original* 变量。
除了在 original 变量中的所有括号前面加上反斜杠,还有没有其他解决这个问题的方法呢?