Advertisement
here2share

# regex_simplifier.py # zzz

Aug 12th, 2022
964
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.19 KB | None | 0 0
  1. # regex_simplifier.py
  2.  
  3. # zzz
  4.  
  5. from tkinter import *
  6. from math import *
  7. import re
  8.  
  9. root = Tk()
  10. root.title("Regex Simplifier")
  11.  
  12. ww = 1280
  13. hh = 640
  14.  
  15. root.geometry(f"{ww}x{hh}+-10+0")
  16. root.resizable(False, False)
  17.  
  18. canvas = Canvas(root)
  19. canvas.pack()
  20.  
  21. options = []
  22. for i in range(100):
  23.     options.append(IntVar())
  24. entries = []
  25. for i in range(100):
  26.     entries.append(StringVar())
  27.  
  28. def regex_generator():
  29.     regex_string = ""
  30.     for i in range(len(options)):
  31.         if options[i].get() == 1:
  32.             regex_string += "("
  33.             if i == 0:
  34.                 regex_string += "^"
  35.             elif i == 1:
  36.                 regex_string += "."
  37.             elif i == 2:
  38.                 regex_string += "*"
  39.             elif i == 3:
  40.                 regex_string += "+"
  41.             elif i == 4:
  42.                 regex_string += "?"
  43.             elif i == 5:
  44.                 regex_string += "\\"
  45.             elif i == 6:
  46.                 regex_string += "|"
  47.             elif i == 7:
  48.                 regex_string += "("
  49.             elif i == 8:
  50.                 regex_string += ")"
  51.             elif i == 9:
  52.                 regex_string += "["
  53.             elif i == 10:
  54.                 regex_string += "]"
  55.             elif i == 11:
  56.                 regex_string += "{"
  57.             elif i == 12:
  58.                 regex_string += "}"
  59.             elif i == 13:
  60.                 regex_string += "\""
  61.             elif i == 14:
  62.                 regex_string += "\'"
  63.             elif i == 15:
  64.                 regex_string += "\\n"
  65.             elif i == 16:
  66.                 regex_string += "\\t"
  67.             elif i == 17:
  68.                 regex_string += "\\r"
  69.             elif i == 18:
  70.                 regex_string += "\\f"
  71.             elif i == 19:
  72.                 regex_string += "\\v"
  73.             elif i == 20:
  74.                 regex_string += "\\b"
  75.             elif i == 21:
  76.                 regex_string += "\\a"
  77.             elif i == 22:
  78.                 regex_string += "\\e"
  79.             elif i == 23:
  80.                 regex_string += "\\000"
  81.             elif i == 24:
  82.                 regex_string += "\\x00"
  83.             elif i == 25:
  84.                 regex_string += "\\u0000"
  85.             elif i == 26:
  86.                 regex_string += "\\U00000000"
  87.             regex_string += ")"
  88.     return regex_string
  89.  
  90. unwanted = '~`@#%^&*()_+-={}[]|\\:;"\'<,>.?/'
  91. def regex_text_form():
  92.     scrollbar = Scrollbar(canvas)
  93.     scrollbar.pack(side=RIGHT, fill=Y)
  94.     regex_entry = Text(canvas, yscrollcommand=scrollbar.set, width=158, height=36)
  95.     regex_entry.pack(expand=True, fill='both')
  96.     scrollbar.config(command=regex_entry.yview)
  97.     # button to generate the regex
  98.     btn = Button(canvas, text="Generate", command=lambda: print())
  99.     btn.pack(side=LEFT)
  100.    
  101. regex_text_form()
  102.  
  103. root.mainloop()
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement