读书人

【python】 关于正则表达式匹配有关问

发布时间: 2013-08-26 12:17:40 作者: rapoo

【python】求助 关于正则表达式匹配问题

import re 
ptn = re.compile('<!-- $CONFIG -->.*?<script type="text/javascript">(.*?)</script>')
s = """
</script>
<!-- $CONFIG -->
<script type="text/javascript">
testing string!!!!
</script>
<!-- / $CONFIG -->
"""
find = ptn.search(s,re.DOTALL)
#ss = find.group(1)
pass


我是想要匹配出testing string!但是最后find是None,求解!
[解决办法]
1. $是特殊字符(匹配行尾),所以要用'\$'。

2. 你的字符串中有一些\n,正常情况下,'.'只匹配\n以外的字符,用re.S让他也可以匹配\n。

In [68]: ptn = re.compile('<!-- \$CONFIG -->.*?<script type="text/javascript">(.*?)</script>', re.S)

In [69]: ptn.findall(s)
Out[69]: ['\ntesting string!!!!\n']

读书人网 >perl python

热点推荐