Tkinter正则表达式工具

大家好,我是 👉【Python当打之年(点击跳转)】

本期给大家分享一套简易 Tkinter正则表达式工具 ,希望对你有所帮助,如有疑问或者需要改进的地方可以私信小编。

整体布局:
在这里插入图片描述

功能代码介绍:

🏳️‍🌈 1. 导入tkinter和re模块

from tkinter import *
from tkinter import messagebox, ttk
import 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 = 10
label1 = 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. 几个示例

数字:

在这里插入图片描述

字母:
在这里插入图片描述

中文:
在这里插入图片描述
大写字母:
在这里插入图片描述
以上正则字典大家可以根据自己的需求进行修改。

🏳️‍🌈 更多内容

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值