Python非reedy正则表达式返回贪婪匹配

2024-03-29 06:57:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用正则表达式从网站http://www.efsa.europa.eu/en/news提取超链接文本列表(以及url和日期)

该文本的一个例子是“动物和食品中的兽药残留:安全水平仍然很高”

但是,我的表达式返回的文本比所需的多,例如

<span class="field-content"><a href="/en/news/veterinary-drug-residues-animals-and-food-compliance-safety-levels-still-high">Veterinary drug residues in animals and food: compliance with safety levels still high"

这是我的密码:

import bs4, requests, re


res = requests.get('http://www.efsa.europa.eu/en/news')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text,'html.parser')
elems = soup.select('body > div.l-page > div > div > div > div > div > div > div.view-content.news-page-display')

a = str(elems[0])

text = re.findall(r'">(.+?)</a></span> </div>',a)

for i in range (len(text)):
    print(text[i]+'\n')

有人知道这是什么原因吗?我已经试了一个小时,现在放弃了:(

提前谢谢