Tkinter正则表达式工具

news2024/9/27 23:31:12

文章目录

  • 🏳️‍🌈 1. 导入tkinter和re模块
  • 🏳️‍🌈 2. 设置窗口居中
  • 🏳️‍🌈 3. 设置lable、text、button布局
  • 🏳️‍🌈 4. 设置下拉列表框
  • 🏳️‍🌈 5. 清空文本框
  • 🏳️‍🌈 6. 正则匹配结果
  • 🏳️‍🌈 7. 设置滚动条
  • 🏳️‍🌈 更多内容

大家好,我是 👉【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. 几个示例

数字:

在这里插入图片描述

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

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

🏳️‍🌈 更多内容

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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scrum敏捷开发和项目管理流程及工具

Scrum是全球运用最广泛的敏捷管理框架&#xff0c;Leangoo基于Scrum框架提供了一系列的流程和模板&#xff0c;可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理&#xff0c;单团队敏捷开发主要是针对10-15人以下&#xff0c;只有一…

零基础如何学习挖漏洞?看这篇就够了【网络安全】

前言 有不少阅读过我文章的伙伴都知道&#xff0c;我从事网络安全行业已经好几年&#xff0c;积累了丰富的经验和技能。在这段时间里&#xff0c;我参与了多个实际项目的规划和实施&#xff0c;成功防范了各种网络攻击和漏洞利用&#xff0c;提高了安全防护水平。 也有很多小…

Qt常用快捷键

Qt常用快捷键 1.添加头文件&#xff1a;Alt Enter2.查看槽函数的实现 位置&#xff1a;F2 / F43.快速查看帮助文档&#xff1a;F14.代码快速对齐&#xff1a;Ctrl I5.代码全选&#xff1a;Ctrl A6.保存&#xff1a;Ctrl S7.代码复制&#xff1a;Ctrl C8.代码粘贴&#xff…

Flutter之插件开发plugin

目的:适用于独立业务模块,或者与原生页面交互频繁的地方。 基于flutter3.x , IDE :androidStudio 步骤: 1.新建flutter project 【New flutter project】. 2. 在新建工程面板记得切换 Project Type, 选择【PLugin】. 其他的根据足迹需求选择就行。 3. 在flutter主工…

联想凌拓教育行业解决方案

联想凌拓教育行业解决方案 教育部等六部门《关于推进教育新型基础设施建设构建高质量教育支撑体系的指导意见》&#xff0c;指出&#xff1a;信息网络、平台体系、数字资源、智慧校园、创新应用、可信安全的新型基础设施为六大发展重点&#xff0c;需建立全面覆盖的标准规范体…

文献集锦 | 非因生物空间多组学技术在头颈部肿瘤中的研究策略

头颈部鳞状细胞癌(HNSCC)是全球第七大癌症病因&#xff0c;是一种异质性恶性肿瘤&#xff0c;起源于上呼吸道&#xff0c;尤其是鳞状粘膜线。唇部、口腔和鼻腔、鼻窦、喉、鼻咽、口咽和下咽是HNSCC的受累部位。利用空间组学分析平台深入剖析组织肿瘤微环境&#xff0c;对深入理…

【大数据之Hadoop】从自定义 RPC 到 Hadoop RPC ,理解分布式通信系统的底层工作原理

1. 前言 Hadoop是分布式计算系统&#xff0c;在分布式环境中&#xff0c;网络通信模块是其核心模块之一。要学好Hadoop&#xff0c;需理解其底层通信系统的基本工作原理。Hadoop提供有体系完整的RPC框架&#xff0c;实现了对底层网络通信过程的优雅封装。 本文将从RPC概念说起…

从五一的旅游热潮看,该如何实现数字文旅的转型升级?

文旅产业是文化和旅游行业的融合&#xff0c;属于国家战略性产业&#xff0c;资源消耗低&#xff0c;带动系数大&#xff0c;就业机会多&#xff0c;综合效益好。改革开放以来&#xff0c;随着国内工业化、城镇化的快速发展&#xff0c;日益增长的大众化、多样化消费需求为文旅…

java电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

JUC多并发编程 对象内存布局

对象的内存布局简介 在 Hotspot 虚拟机里&#xff0c;对象在堆内存中存在布局可划分为三个部分: 对象头(Header), 实例数据(Instance Data) 和对齐填充(Padding 保证8字节位数) 对象头 对象标记 MarkWord, 在64位操作系统中&#xff0c; Mark Word 占8个字节, 类型占 8个字节&…

单词搜索I II/前缀树

79单词搜索 思路&#xff1a; 注意&#xff1a; 我自己在写 for i in range(m):for j in range(n):# 对每一个格子都从头开始搜索if self.__search_word(board, word, 0, i, j, marked, m, n):return True这一段的时候&#xff0c;就写成了&#xff1a; 这一段代码是…

Mysql 主从 读写分离

目录 0 课程视频 1 概述 1.1原理 -> 传二进制日志到 从库 -> 执行 1.2 作用 1.2.1 主库崩 从库上 1.2.2 读写分离 1.2.3 从库备份 -> 备份完 再用 二进制日志同步 2 搭建 2.1 防火墙 端口号开启 2.2 主库设置 2.2.1 修改配置文件 -.> /etc/my.cnf 2.2…

高压放大器模块在平面水声压电换能器研究中的应用

实验名称&#xff1a;平面水声压电换能器的制备与性能研究 研究方向&#xff1a;压电换能器 实验原理&#xff1a; 压电换能器是能够发射和接收超声波的电声转换器件&#xff0c;按照不同的标准&#xff0c;换能器可分为不同的种类。按照功能可分为发射型、接收型和收发两用…

亚马逊下单需要什么条件?(养号干货知识)

混迹亚马逊的老手都知道&#xff0c;测评向来都是最有效&#xff0c;最快速的推广方式&#xff0c;给自己商品做点销量&#xff0c;优化一下listing&#xff0c;留一下一些优质评论&#xff0c;甚至于打压一下竞品&#xff0c;帮自己商品解个围。 养号环境四大步&#xff1a; …

定制海报、AI扣人像小程序

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop 小淼Develop的个…

nakamichi车机中控屏密码破解(开发者选项密码、usb主从模式切换密码)

版本 Android11 平台 mtk 打开开发者选项&#xff0c;连续点击系统版本号会弹出密码框确认 这个默认密码这台设备并没有配置&#xff0c;而是动态的 默认密码 SystemProperties.get(“ro.sys.developer”, “”); 动态根据设备当前日前来生成的格式为 yyyy.MM.dd 所以上面的…

Node框架 【Koa】开发框架、路由

文章目录 &#x1f31f;前言&#x1f31f;开发框架&#x1f31f;应用程序&#x1f31f;应用程序Koa类&#x1f31f;应用对象(app)的方法&#x1f31f;app.use(function)&#x1f31f;app.listen(...) &#x1f31f;应用程序设置 &#x1f31f;上下文(Context) &#x1f31f;路由…

电脑c盘满了变成红色了怎么清理?看看这7个方法

当C盘出现红色标识提示时&#xff0c;表示该分区的可用存储空间已经极度不足&#xff0c;可能会影响系统稳定性和性能。如果您需要清理C盘并腾出更多的存储空间&#xff0c;可以采取以下措施&#xff1a; 一、电脑c盘7种清理方法 方法1&#xff1a;清空回收站 演示机型&#…

pytorch优化器——add_param_group()介绍及示例、Yolov7 优化器代码示例

系列文章目录 基础函数2——enumerate()、hasattr()、isinstance() pytorch学习率设置——optimizer.param_groups、对不同层设置学习率、动态调整学习率。 文章目录 系列文章目录前言1、关于pytorch优化器2、add_param_group()3、pytorch优化器4、pytorch优化器测试总代码5、…

如何保证 RabbitMQ 的消息可靠性

前言 项目开发中经常会使用消息队列来完成异步处理、应用解耦、流量控制等功能。虽然消息队列的出现解决了一些场景下的问题&#xff0c;但是同时也引出了一些问题&#xff0c;其中使用消息队列时如何保证消息的可靠性就是一个常见的问题。如果在项目中遇到需要保证消息一定被…