Всем доброе время суток, пишу программу для поиска функции moonloder. Необходимо составить так регулярное выражение, чтобы выводились всё что угодно перед словом и после слова. чтобы искать было как можно комфортнее. Вот видео проблемы https://www.youtube.com/watch?v=65JqrMeskl4&feature=youtu.be
Помогите мне пожалуйста вашим мудрым советом.
from tkinter import* from tkinter import Tk, StringVar, Label, Entry, Button, messagebox, Checkbutton, IntVar # импортируем только то что надо from tkinter.ttk import Combobox # импортируем только то что надо from tkinter import ttk from tkinter.filedialog import askopenfilename from tkinter import ttk from tkinter import filedialog import re import itertools from itertools import groupby loaded = False def find(word,f1): a =[] b = list((map(''.join, itertools.product(*zip(word.upper(), word.lower())))))# все комбинации for x in b: a.append(x) f = open(f1, "r") for i in f.readlines(): j = i.rstrip("\n") if j == x: a.append(j) # f.close() with open(f1, 'r') as f: mytext = f.read() b.clear() for word in a: find = r"{0}+[\w\.-]+" .format(word) find2 = r"[\w\.-]+{0}+[\w\.-]+" .format(word) # как + элемент списка в качестве переменной? find3 = r"[\w\.-]+{0}+" .format(word)# как + элемент списка в качестве переменной? a1 = re.findall(find, mytext) a2 = re.findall(find2, mytext) a3 = re.findall(find3, mytext) for i in a1: b.append(i) for i in a2: b.append(i) for i in a3: b.append(i) a.clear() for i in b: if i not in a: a.append(i) return a def search(): if not loaded: return if loaded == True: res = str(var1.get()) # выводит содержание Entry в данный момент a = find(res ,url) listbox1.delete(0, END) for i in a: listbox1.insert(END, i) def ImportFiles(): Tk().withdraw() global url global loaded url = askopenfilename(filetypes=(("all.files", "*"),), title="Choose a file.") # открыть каталог выбора файл if url: try: with open(url, 'r') as file: lst = file.readlines() for i in lst: listbox1.insert(END, i) loaded = True except: messagebox._show("Ошибка", "Невозможно открыть файла ") return window = Tk() var1 = StringVar() window.geometry('500x700'"+650+300") button1 = Button(window, text='Open', command=ImportFiles).grid(column=1, row=0,padx=0, pady=15) var1.trace("w", lambda name, index, mode, sv=var1: search()) Entry(window, width=70, textvariable=var1).grid(column=0, row=0,padx=10, pady=15) # размер поле адреса ввода listbox1 = Listbox(window, selectmode="SINGLE") listbox1 = Listbox(window, height=30, width=70, selectmode="SINGLE") listbox1.grid(padx=10, pady=20) scroll = Scrollbar(command=listbox1.yview) listbox1.config(yscrollcommand=scroll.set) scroll.grid(column=1, row=1,padx=0, pady=15) window.mainloop()