Python |. Tkinter-Tool für reguläre Ausdrücke

Freigeben: 2023-08-09 16:04:10
nach vorne
838 Leute haben es durchsucht


In dieser Ausgabe werde ich Ihnen eine Reihe einfacher Tkinter-Tools für reguläre Ausdrücke vorstellen. Ich hoffe, dass sie Ihnen hilfreich sein werden Bereiche, die verbessert werden müssen, können Sie eine private Nachricht an den Herausgeber senden. Gesamtlayout:
Python |. Tkinter-Tool für reguläre Ausdrücke

Funktionscode-Einführung:

?️‍? 1. Tkinter- und Re-Module importieren

from tkinter import *
from tkinter import messagebox, ttk
import re
Nach dem Login kopieren

?️‍? 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)
Nach dem Login kopieren


?️‍? 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)
Nach dem Login kopieren


?️‍? 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)
Nach dem Login kopieren


Python |. Tkinter-Tool für reguläre Ausdrücke


?️‍? 5. 清空文本框

# 清空三个文本框
def clear_all():
    text1.delete(&#39;1.0&#39;, &#39;end&#39;)
    text2.delete(&#39;1.0&#39;, &#39;end&#39;)
    text3.delete(&#39;1.0&#39;, &#39;end&#39;)
Nach dem Login kopieren


?️‍? 6. 正则匹配结果

# 正则匹配
def check_regex():
    text3.delete(&#39;1.0&#39;, &#39;end&#39;) 
    re_text = text1.get(&#39;1.0&#39;, &#39;1.end&#39;)
    source_text = text2.get(&#39;1.0&#39;, END)
    try:
        pattern = re.compile(f&#39;{re_text}&#39;)
        result = re.findall(pattern, source_text) 
        if result:
            # 循环输出
            for res in result:
                if res != &#39;&#39;:
                    text3.insert(END, res+&#39;\n&#39;)
        else: 
            text3.delete(&#39;1.0&#39;, &#39;end&#39;)
            text3.insert(&#39;insert&#39;, &#39;匹配结果为空&#39;)
    except:
        text3.delete(&#39;1.0&#39;, &#39;end&#39;)
        text3.insert(&#39;insert&#39;, &#39;匹配失败&#39;)
Nach dem Login kopieren


?️‍? 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)
Nach dem Login kopieren


?️‍? 8. 几个示例

Zahlen:

Python |. Tkinter-Tool für reguläre Ausdrücke


Buchstaben:

Python |. Tkinter-Tool für reguläre Ausdrücke


Chinesisch:

Python |. Tkinter-Tool für reguläre Ausdrücke


Großbuchstaben:

Python |. Tkinter-Tool für reguläre Ausdrücke


Sie können das obige reguläre Wörterbuch nach Ihren eigenen Bedürfnissen ändern.

Das obige ist der detaillierte Inhalt vonPython |. Tkinter-Tool für reguläre Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Python当打之年
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage