1

如何"""在原始 python 字符串中编码?

以下似乎不起作用:

string = r"""\"\"\""""

因为在尝试"""与正则表达式匹配时,我必须对字符进行双重转义"返回一个空列表:

string = r"""\"\"\""""
regEx = re.compile(r"""
        (\"\"\")
""", re.S|re.X)
result = re.findall(regEx, string)

在这种情况下,结果是一个空列表。当我从文件内容['"""']加载字符串时,同样的正则表达式会返回。"""

返回双转义引号:

string = r"""\"\"\""""
regEx = re.compile(r"""
        (\\"\\"\\")
""", re.S|re.X)
result = re.findall(regEx, string)

现在结果等于['\\"\\"\\"']。它希望它等于['"""']

4

2 回答 2

4

一般来说,有以下三种选择:

  1. 不要使用r前缀。这只是为了避免在正则表达式中过度使用双反斜杠。这不是必需的。
  2. 使用r'…', 其中"字符不特殊。
  3. 混合搭配r"…"'':,例如pattern = '"""' + r"\s*\d\d-'\d\d'-\d\d\s*" + '"""'

在这种情况下,您可以同时使用 1 和 2:单引号和无r前缀。

于 2013-12-29T02:08:10.283 回答
0

最简单的方法就是做'"""'.

于 2013-12-29T02:06:45.990 回答