python正则表达式\表达式中的多个表达式
在我的python脚本中,它需要一个表达式,如python正则表达式\表达式中的多个表达式,python,Python,在我的python脚本中,它需要一个表达式,如 "\[.*[ERROR].*\n.*\n.*\n.*/\n.*is for multiple time/[\]]{2}" 请告诉我如何多次服用“\n.”。。。我被困在这个地方了有可用的多行标志,让您可以跨多行进行匹配 关于多行 指定时,模式字符“^”在字符串开头和每行开头(紧跟在每一换行之后)匹配;模式字符“$”在字符串的末尾和每行的末尾(紧跟在每一换行之前)匹配。默认情况下,“^”仅在字符串的开头匹配,而“$”仅在字符串的结尾和字符串末尾的换
"\[.*[ERROR].*\n.*\n.*\n.*/\n.*is for multiple time/[\]]{2}"
请告诉我如何多次服用
“\n.”
。。。我被困在这个地方了有可用的多行标志,让您可以跨多行进行匹配
关于多行
指定时,模式字符“^”在字符串开头和每行开头(紧跟在每一换行之后)匹配;模式字符“$”在字符串的末尾和每行的末尾(紧跟在每一换行之前)匹配。默认情况下,“^”仅在字符串的开头匹配,而“$”仅在字符串的结尾和字符串末尾的换行符(如果有)之前匹配
您还可以访问将有匹配甚至换行符的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]']
实际上,它给出了错误的输出。。因为第一个“*”本身作为re.DOTALL并给出完整的字符串,但我想要最后一个“*”多次也作为\n