您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Python | Tkinter正则表达式工具

2024/3/2 2:58:43发布13次查看
本期给大家分享一套简易tkinter正则表达式工具,希望对你有所帮助,如有疑问或者需要改进的地方可以私信小编。整体布局:
功能代码介绍:
 ?️‍? 1. 导入tkinter和re模块
from tkinter import *from tkinter import messagebox, ttkimport re
?️‍? 2. 设置窗口居中# 窗口居屏幕中央screenwidth = root.winfo_screenwidth()screenheight = root.winfo_screenheight()alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)root.geometry(alignstr)
?️‍? 3. 设置lable、text、button布局font_size = 10label1 = label(root, text="常用正则表达式:",font=(stringvar(), font_size),pady=10)label1.grid(row=1, column=0, sticky=w,padx=5, pady=5)# 功能按钮button2 = button(root, width=15, text="测试", command=check_regex)button3 = button(root, width=15, text="清空所有", command=clear_all)button2.grid(row=5, column=1, padx=5, pady=5)button3.grid(row=5, column=2, padx=5, pady=5)label2 = label(root, text="正则表达式:", font=(stringvar(), font_size), pady=10)label3 = label(root, text="目标字符串:", font=(stringvar(), font_size), pady=10)label4 = label(root, text="匹配结果:", font=(stringvar(), font_size), pady=10)label2.grid(row=2, column=0, sticky=w, padx=5)label3.grid(row=3, column=0, sticky=w, padx=5)label4.grid(row=4, column=0, sticky=w, padx=5)# 设置默认项text1 = text(root, width=47, height=5, font=(stringvar(), font_size))text1.insert('1.0', dic_tmp[comboxlist.get()])text2 = text(root, width=47, height=10, font=(stringvar(), font_size))text3 = text(root, width=47, height=10, font=(stringvar(), font_size))text1.grid(row=2, column=1,columnspan=3, pady=10)text2.grid(row=3, column=1,columnspan=3, pady=10)text3.grid(row=4, column=1,columnspan=3, pady=10)
?️‍? 4. 设置下拉列表框# 下拉选择框def set_combox(): comboxlist["values"] = list(dic_tmp.keys()) comboxlist.current(0) comboxlist.bind("<<comboboxselected>>", get_combox) comboxlist.grid(row=1, column=1, pady=10)
?️‍? 5. 清空文本框
# 清空三个文本框def clear_all(): text1.delete('1.0', 'end') text2.delete('1.0', 'end') text3.delete('1.0', 'end')
?️‍? 6. 正则匹配结果
# 正则匹配def check_regex(): text3.delete('1.0', 'end') re_text = text1.get('1.0', '1.end') source_text = text2.get('1.0', end) try: pattern = re.compile(f'{re_text}') result = re.findall(pattern, source_text) if result: # 循环输出 for res in result: if res != '': text3.insert(end, res+'\n') else: text3.delete('1.0', 'end') text3.insert('insert', '匹配结果为空') except: text3.delete('1.0', 'end') text3.insert('insert', '匹配失败')
?️‍? 7. 设置滚动条
# 创建滚动条scroll2 = scrollbar(orient=vertical,command=text2.yview)text2.config(yscrollcommand = scroll2.set)scroll2.grid(row=3,column=4, pady=10, sticky=s+w+e+n)# 创建滚动条scroll3 = scrollbar(orient=vertical,command=text3.yview)text3.config(yscrollcommand = scroll3.set)scroll3.grid(row=4,column=4, pady=10, sticky=s+w+e+n)
?️‍? 8. 几个示例
数字:
字母:
中文:
大写字母:
以上正则字典大家可以根据自己的需求进行修改。
以上就是python | tkinter正则表达式工具的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product