正则表达式(Regularexpression)可用来检查文本中是否包含指定模式的字符串,通常是按行来处理(POSIX标准),因为。操作符通常不匹配换行符,如果要匹配多行怎么处理呢?本文介绍正则表达式跨行匹配实现方法。 1。sed命令删除多行 测试文档test。txt内容如下:starttest1test2end 删除start和end之间的内容包括start和endsedistart,enddtest。txt不包括start和endsedistart,end{{!d;};}test。txt2。Python正则表达式匹配多行 Python中匹配多行方法如下:re。DOTALL或者re。S参数importredata1starttest1test2end2reg1rstart。endreg2rstart(。)endres1re。findall(reg1,data,flagsre。S)print(res1)res2re。findall(reg2,data,flagsre。DOTALL)print(res2) 执行结果:〔starttest1test2end〕〔test1test2〕表达式(。r)importredata1starttest1test2end2reg3rstart((。r))endresre。findall(reg3,data)print(res) 执行结果:〔(test1test2,)〕表达式〔sS〕importredata1starttest1test2end2reg4rstart(〔sS〕)endresre。findall(reg4,data)print(res) 执行结果:〔test1test2〕表达式(?s)importredata1starttest1test2end2reg5r(?s)start(。)endresre。findall(reg5,data)print(res)reg5r(?s)start。endresre。findall(reg5,data)print(res) 执行结果:〔test1test2〕〔starttest1test2end〕 参考:https:stackoverflow。comquestions159118howdoimatchanycharacteracrossmultiplelinesinaregularexpression THEEND