正则表达式 匹配换行 的内容

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

我们在用正则表达式分析html或者是xml的时候,会碰上要匹配的目标字符串含有回车换行的情况,这时候我们就不能试用

.*?来匹配了(除非你先把字符串中的回车换行去掉。)我们应该试用\s\S来匹配。

代码如下:

#!/usr/bin/env python #coding=utf-8 import re test = """ <target name="reviewcode" description="Review code using PMD"> <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpath="${lib.dir}/pmd-3.8.jar" /> <pmd shortFilenames="true"> <!-- Determine the ruleset to be used --> <ruleset>rulesets/favorites.xml</ruleset> <ruleset>basic</ruleset> <ruleset> asdaas abcde </ruleset> <!-- Generate and HTML report into the designated directory --> <formatter type="html" toFile="${report.dir}/pmd_automated_code_review_report.html" /> <!-- Files to be configured for review --> <fileset dir="${workspace.dir}/"> <!-- Include all .java files except those under directories that are automatically generated --> <include name="**/*.java" /> <!-- A sample exlusion directory that has generated java source code --> <exclude name="**/generated/**/*.java" /> </fileset> </pmd> </target> """ if __name__ == '__main__': theDates = re.findall('''<ruleset>([\s\S]*?)</ruleset>''', test) print theDates

输出结果:

> "D:\Python25\python.exe" -u "C:\test.py"
['rulesets/favorites.xml', 'basic', '\n \n asdaas\n \n abcde\n ']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值