2014-10-11 86 views
-2
wiki_page = urlopen('http://en.wikipedia.org/wiki/superman') 
html_code = wiki_page.read() 
headline = findall ('<h1.*><span.*>(.+)</span></h1>', html_code) 

所以我想要一个解释,为什么这个例子的代码吐出一句话“超人”,而不是从头到尾一切从的findAll查询开始:REG-EX解释

为例如,这是找到所有的代码,下方和它自动输出其结果:

<h1 id="firstHeading" class="firstHeading" lang="en"> 
    <span dir="auto"> 
     Superman 
    </span> 
</h1> 
+0

编辑我的@ msrd0是incorrect.There不应该是空格或换行字符,按您的正则表达式 – vks 2014-10-11 11:19:55

回答

1

由于re.findall函数试图第一吐出捕获组内的字符。如果没有捕捉组存在,那么只有它吐出匹配的字符串。

从正则表达式中移除捕获组以显示匹配的字符串。

<h1.*><span.*>.+?</span></h1>