在我的python脚本中,它需要一个像
这样的表达式"\[.*[ERROR].*\n.*\n.*\n.*/\n.*is for multiple time/[\]]{2}"
请让我知道如何多次使用"\n."
...我被困在这个地方
答案 0 :(得分:0)
可以使用多行标记,让您在多行中匹配。
https://docs.python.org/2/library/re.html#re.MULTILINE
重。的 MULTILINE 强>
指定时,模式字符'^'匹配字符串的开头和每行的开头(紧跟在每个换行符之后);并且模式字符'$'在字符串的末尾和每行的末尾(紧接在每个换行符之前)匹配。默认情况下,'^'仅匹配字符串的开头,'$'仅匹配字符串的结尾,紧接在字符串末尾的换行符(如果有)之前。
您还可以访问 DOTALL ,。与新行相匹配
重。的 DOTALL 强>
制作'。'特殊字符匹配任何字符,包括换行符;没有这个标志,'。'将匹配除换行符之外的任何内容。
根据您的匹配情况,这两个标记可让您选择如何处理换行符。在您的情况下,您可能希望像这样调整模式:
text = '\n[ [ERROR]\n\nsome text\nis for multiple time]'
re.findall("\[.*\[ERROR\].*is for multiple time\]", text, re.DOTALL)
# result: ['[ [ERROR]\n\nsome text\nis for multiple time]']