Python 如何计算正则表达式中的项目总数

Python 如何计算正则表达式中的项目总数,python,regex,printing,web-scraping,Python,Regex,Printing,Web Scraping,因此,我编写了一个程序,在一个网站上搜索注册表声明、电子邮件、电话号码和图片中的项目。我刚开始学习python不久 我用来清理网站的代码是: def main(): url = "URL in here!" webpage = urllib2.urlopen(url) content = webpage.read() f = open('CSN08115-TestPage.txt', 'w') f.write(content) f.close()

因此,我编写了一个程序,在一个网站上搜索注册表声明、电子邮件、电话号码和图片中的项目。我刚开始学习python不久

我用来清理网站的代码是:

def main():
    url = "URL in here!"
    webpage = urllib2.urlopen(url)
    content = webpage.read()
    f = open('CSN08115-TestPage.txt', 'w')
    f.write(content)
    f.close()
    print content
    print GetLink()

def GetLink():
    with open('CSN08115-TestPage.txt') as f: 
        for line in f: 
            c = re.findall(r'a\shref="/?(.*)">', line)
            #Code to find total number of Lines of c
            if c:
                print c, 'Total number of emails: 6' #Output should adjust to different websites

if __name__ == "__main__":
main()
我的问题是如何计算RegEx语句的输出总数


我尝试过使用
打印c,len(c)
,但这只会在每个输出旁边输出1!总共有6封电子邮件。我的想法是,c=re.findall为在c中找到的每封电子邮件创建一个列表,然后给每封电子邮件一个结果?

在没有看到输入的情况下,我不能肯定,但我怀疑你应该在整个页面内容上调用re.findall,而不是一次一行:

   ...
   content = webpage.read()
   ...
   c = re.findall(r'a\shref="/?(.*)">', content)
   number_of_items = len(c)

所以你的建议行得通!但它不会输出到一个可怕的列表中。我该如何将其从列表的顶部到底部输出?@Scott,你只需将列表排序或将其作为一个dict。