带有python正则表达式的字面括号

时间:2014-05-22 11:41:45

标签: python regex parentheses

我有一本字典(例如英语 - 克罗地亚语)。它可能包含句子和短语。我将表单"english text" = "english text"的文件转换为表单"english text" = "croatian text"并使用python regex模块进行转换。 我使用的正则表达式看起来像这样(给定变量原始,这是应该翻译的英文文本:

regexString = '(?<= = ")'+original+'(?=")'

通过这种方式,我能够准确地捕获右侧引号内的英文文本,并用克罗地亚语替换它。但是,如果原始文本包含内部括号,则会出现此问题。例如:

original = 'This is a wonderland :)'

在这种情况下出现错误&#34;不平衡的括号&#34;被提出来了。如果原始将被硬编码,我可以通过添加

来解决问题
original = 'This is a wonderland :\\)'

但是,整个文件中都有*原始*变量 除了通过使用反斜杠在其中的所有括号之前更改原始变量之外,是否有任何解决此问题的方法?

1 个答案:

答案 0 :(得分:4)

您可以使用re.escape来处理此问题:

regexString = '(?<= = ")' + re.escape(original) + '(?=")'