如何在文本文件python上使用.split()函数进行循环

如何在文本文件python上使用.split()函数进行循环,python,web-scraping,Python,Web Scraping,我有一个html文件,文件中写有不同的团队名称。我只想知道球队的名字。团队名称总是出现在特定文本之后,并在特定文本之前结束,因此我拆分了函数以查找团队名称。我是一个初学者,我确信我正在使它变得更难。数据就是文件 teams = data.split('team-away">')[1].split("</sp")[0] for team in teams: print team teams=data.split('team-away“>”)[1]。split(

我有一个html文件,文件中写有不同的团队名称。我只想知道球队的名字。团队名称总是出现在特定文本之后,并在特定文本之前结束,因此我拆分了函数以查找团队名称。我是一个初学者,我确信我正在使它变得更难。数据就是文件

teams = data.split('team-away">')[1].split("</sp")[0]
    for team in teams:
        print team

teams=data.split('team-away“>”)[1]。split(不要再发明轮子了!仔细想想,它会帮你完成工作的。

“我是个初学者,我确信我会让这件事变得更难。”

嗯,有点

import re
teams = re.findall('team-away">(.*)</sp', data)
重新导入

teams=re.findall('team-away'>(*)解析HTML。不要将其作为字符串使用。是的,我想知道有人链接到“Tony the Pony”之前有多长时间。OP确实声明“我有一个HTML文件……团队名称总是出现在特定文本之后,并在特定文本之前结束”,假设@sdeep27正确描述了问题(除了他自己谁知道呢),那么纯文本搜索是100%有效的(但当然不是最佳实践)。出于好奇,为什么这个正则表达式优于re.findall('team-away'>(*)@Kurtis,你是对的。我假设
findall
会匹配整个正则表达式,所以我使用了lookback和lookahead。但是如果确实存在一个捕获组,则返回的匹配仅限于该组。现在改进答案。所以我去查看了一些re以了解你的答案,这确实解决了问题,谢谢。快速提问h、 因为我只需要返回字母而不需要返回数字,所以我尝试了(\w*)而不是(.*),它返回了一个空列表。你知道为什么这可能是,或者这是一个错误的表达式吗?我不确定你的确切意思。也许
([A-Za-z]*)。
?不是所有字母的正则表达式标识符吗?我们为什么要使用[A-Za-z]格式?