擅长:python、mysql、java
<p>编辑:请使用马蒂金的解决方案。我还不知道<code>text.decode('string_escape')</code>,当然它要快得多。以下是我最初的答案。在</p>
<p>使用此正则表达式可以取消字符串中所有转义的十六进制表达式:</p>
<pre><code>def unescape(text):
return re.sub(r'\\\\|\\x([0-9a-fA-F]{2})',
lambda m: chr(int(m.group(1), 16)) if m.group(1)
else '\\', text)
</code></pre>
<p>如果您知道输入将不包含后跟<code>x</code>的双反斜杠(例如<code>foo bar \\x41 bloh</code>,可能应该解释为<code>foo bar \x41 bloh</code>,而不是<code>foo bar \A bloh</code>),那么您可以将其简化为:</p>
^{pr2}$