找回密码
  注册[Register]
查看: 860|回复: 8

[其他] 一个简单的正则小工具

  [复制链接]
发表于 2020-7-30 19:47 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

最近在学习pyqt,写了一个简单的验证正则的小工具,仅供学习交流使用
需要安装 PyQt5 :pip install PyQt==5.15.0


  1. # -*- coding: utf-8 -*-

  2. # Form implementation generated from reading ui file '正则.ui'
  3. #
  4. # Created by: PyQt5 UI code generator 5.15.0
  5. #
  6. # WARNING: Any manual changes made to this file will be lost when pyuic5 is
  7. # run again.  Do not edit this file unless you know what you are doing.

  8. import sys
  9. import re
  10. from PyQt5.QtWidgets import QApplication, QMainWindow
  11. from PyQt5 import QtCore, QtGui, QtWidgets


  12. class Ui_MainWindow(object):
  13.     def setupUi(self, MainWindow):
  14.         MainWindow.setObjectName("MainWindow")
  15.         MainWindow.resize(800, 600)
  16.         self.centralwidget = QtWidgets.QWidget(MainWindow)
  17.         self.centralwidget.setObjectName("centralwidget")
  18.         self.excel_label = QtWidgets.QLabel(self.centralwidget)
  19.         self.excel_label.setGeometry(QtCore.QRect(280, 20, 211, 20))
  20.         self.excel_label.setLayoutDirection(QtCore.Qt.LeftToRight)
  21.         self.excel_label.setTextFormat(QtCore.Qt.AutoText)
  22.         self.excel_label.setObjectName("excel_label")
  23.         self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
  24.         self.textBrowser.setGeometry(QtCore.QRect(190, 260, 351, 201))
  25.         self.textBrowser.setObjectName("textBrowser")
  26.         self.content_textEdit = QtWidgets.QLineEdit(self.centralwidget)
  27.         self.content_textEdit.setGeometry(QtCore.QRect(190, 100, 351, 78))
  28.         self.content_textEdit.setObjectName("content_textEdit")
  29.         self.start_pushButton = QtWidgets.QPushButton(self.centralwidget)
  30.         self.start_pushButton.setGeometry(QtCore.QRect(60, 340, 112, 32))
  31.         self.start_pushButton.setObjectName("start_pushButton")
  32.         self.re_lineEdit = QtWidgets.QLineEdit(self.centralwidget)
  33.         self.re_lineEdit.setGeometry(QtCore.QRect(190, 220, 113, 21))
  34.         self.re_lineEdit.setObjectName("re_lineEdit")
  35.         self.label = QtWidgets.QLabel(self.centralwidget)
  36.         self.label.setGeometry(QtCore.QRect(80, 120, 58, 16))
  37.         self.label.setObjectName("label")
  38.         self.label_2 = QtWidgets.QLabel(self.centralwidget)
  39.         self.label_2.setGeometry(QtCore.QRect(80, 220, 81, 16))
  40.         self.label_2.setObjectName("label_2")
  41.         MainWindow.setCentralWidget(self.centralwidget)
  42.         self.statusbar = QtWidgets.QStatusBar(MainWindow)
  43.         self.statusbar.setObjectName("statusbar")
  44.         MainWindow.setStatusBar(self.statusbar)

  45.         self.retranslateUi(MainWindow)
  46.         QtCore.QMetaObject.connectSlotsByName(MainWindow)

  47.     def retranslateUi(self, MainWindow):
  48.         _translate = QtCore.QCoreApplication.translate
  49.         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  50.         self.excel_label.setText(_translate("MainWindow", "python正则小工具"))
  51.         self.start_pushButton.setText(_translate("MainWindow", "开始匹配"))
  52.         self.label.setText(_translate("MainWindow", "文本"))
  53.         self.label_2.setText(_translate("MainWindow", "正则表达式"))


  54. class MyMainForm(QMainWindow, Ui_MainWindow):
  55.     def __init__(self):
  56.         super(MyMainForm,self).__init__()
  57.         self.setupUi(self)

  58.         # 添加开始匹配的信号和槽,调用display函数
  59.         self.start_pushButton.clicked.connect(self.display)

  60.     def display(self):
  61.         text = self.content_textEdit.text()
  62.         re_ = self.re_lineEdit.text()
  63.         pattern = re.compile(fr"{re_}")
  64.         m = pattern.findall(text)
  65.         re_text = f"匹配结果:\n{m}"
  66.         self.textBrowser.setText(re_text)


  67. if __name__ == "__main__":
  68.     # 固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
  69.     app = QApplication(sys.argv)
  70.     # 初始化
  71.     myWin = MyMainForm()
  72.     # 将窗口控件显示在屏幕上
  73.     myWin.show()
  74.     # 程序运行,sys.exit方法确保程序完整退出。
  75.     sys.exit(app.exec_())
复制代码

1.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-7-30 19:47 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-30 19:51 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-30 19:53 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-30 20:11 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-30 21:20 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-30 22:21 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-7-31 22:23 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-8-14 11:41 | 显示全部楼层
正则665
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-3-29 18:36 , Processed in 0.038307 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表