python - 如何将 """(三引号)编码为原始字符串?

标签 python rawstring

如何在原始 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)

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

最佳答案

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

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

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

关于python - 如何将 """(三引号)编码为原始字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20821431/

相关文章:

python - “If”语句和来自命令行的一行 Python 脚本

python - 将 Redis Streams 输出转换为 Pandas Dataframe

python - 从列表中删除字典

python - Matplotlib pyplot 选项为 dict 或任何格式

python - 如何在 python 中编写字符串文字而不必转义它们?

c++ - 原始字符串文字和文件编码

python - 对 lambda 方程进行运算

python - 如何从 python 中的字符串变量创建原始字符串?

python - 如何在 Python 中获取字符串的原始表示形式?

python - 为什么我不能用反斜杠结束原始字符串?