如何在原始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)
现在结果等于['\\"\\"\\"']
。
它希望它等于['"""']
。
答案 0 :(得分:4)
一般来说,有三种选择:
r
前缀。这只是为了避免在正则表达式中过度使用双反斜杠。这不是必需的。r'…'
,"
字符不在其中。r"…"
和''
:,例如pattern = '"""' + r"\s*\d\d-'\d\d'-\d\d\s*" + '"""'
在这种情况下,你可以同时执行1和2:单引号而不是r
前缀。
答案 1 :(得分:0)
最简单的方法就是'"""'
。