正则表达式综合应用:qq邮箱提取

这里应用到的有正则表达式。qq号的正则表达式的“[1-9][0-9]{4,10}”。用户界面用到了tkinter,不难理解。

其基本思路是:

1.用户界面启动,显示要处理的信息。

2.点击按钮“提取”,把qq邮箱显示到列表框中。

3.点击保存,则保存到“files”文件夹的“QQMail.txt”中。

代码如下:

import tkinter as tkr
import re

QQstr="""
群成员人数: 12/500  添加成员  设置管理员  删除成员 
搜索关键词
更多筛选
		成员	群名片	QQ号	性别	
Q龄	
入群时间	
最后发言	
1	
暖阳	
杨某某
785844930	男	10年	2012年5月以前	2016/04/29	
	2	
绿野	
孟某某
453984879	未知	13年	2012年5月以前	2016/04/29	
	3	
 小孤山 	
王某某
592124209	男	10年	2012年5月以前	2015/03/05	
	4	
曹小军	
曹某某
893107577	女	8年	2012年5月以前	2016/04/18	
	5	
小蚂蚁	
关某某
1486337721	女	7年	2012年5月以前	2012/04/06	
	6	
妍化山石	
段某某
1654784261	女	7年	2012年5月以前	2016/04/17	
	7	
云淡风轻	
孙某某
1327227541	女	6年	2013/03/17	2016/04/17	
	8	
孙叶子	
孙某霞
84007476	女	17年	2013/03/17	2016/04/17	
	9	
桃李不言	
王某伟
529530247	男	13年	2013/03/17	2015/07/16	
	10	
咕噜熊	
谢某某
29363055	男	17年	2016/04/17	2016/04/17	
	11	
峰	
齐某某
27931865	男	17年	2016/04/17	2016/04/17	
	12	
明月	
关某某
304919428	女	14年	2016/04/17	2016/04/17	
友情链接:QQ官方网站 | 腾讯开放平台 | 在线教育介绍 | QQ商家 | QQ会员 | 腾讯文档

"""
###全局变量
baklist=[]
###提取QQ号,加上邮箱号,插入列表
def extract():
    global baklist #引用全局变量
    mylist=re.findall(r"[1-9][0-9]{4,10}",text.get("0.0","end"))
    print("提取到的QQ号是:")
    print(mylist)
    for qq in mylist:
        qq+="@qq.com"
        list.insert(tkr.END,qq)
        baklist.append(qq)
    
###保存提取的信息到files文件夹    
def save():
    file=open(r"files\qqmail.txt","wb")
    if baklist!=None:
        for qq in baklist:
            file.write((qq+"\r\n").encode("utf-8"))
    file.close()

win=tkr.Tk()
button=tkr.Button(win,text="提取",command=extract)
button.pack()

buttonSave=tkr.Button(win,text="保存",command=save)
buttonSave.pack()

text=tkr.Text(win)
text.insert(tkr.INSERT,QQstr)
text.pack()

list=tkr.Listbox(win)
list.pack()

win.mainloop()

运行结果是: 

记事本 

 

猜你喜欢

转载自blog.csdn.net/acflair/article/details/82900060