【发布时间】:2021-06-15 18:07:39
【问题描述】:
我有以下原始字符串:
s = "###Sample Input\r\n```\r\n3\r\n100 400 1000 1200\r\n100 450 1000 1350\r\n150 400 1200 1200\r\n```"
我想提取三引号之间的文本'3\r\n100 400 1000 1200\r\n100 450 1000 1350\r\n150 400 1200 1200\r\n'
我首先将此原始字符串转换为 python 字符串,然后应用以下模式:
pattern = r"Sample Input/s/s('''.*''')"
match = re.findall(pattern, s)
print(match)
但我只得到一个空列表作为输出。在这种情况下,用于提取三引号之间的文本的正确正则表达式是什么。
【问题讨论】:
-
也许只有
re.findall("```(.*?)```", s, re.DOTALL)可以吗? -
您尝试阅读的行已被注释掉,不是吗?不应该是一个名为“s”的变量吗?
-
@WiktorStribiżew 我仍然得到一个空列表
-
@stever no 井号只是字符串的一部分,不是注释。是的,实际上它是一个存储在变量 s 中的字符串
-
另外,那些是反引号而不是引号......(除非你将它用作文档字符串,否则这并不重要)