Other than that, great game!
considering free windows being light theme only, it should be a button, not a "system default"
We made a similar game several years ago for the Pyweek game competition, but there wasn't the fun "letter invaders" style that this one has.
https://pyweek.org/e/RegExExpress/
I really like your implementation!
Might be good to limit some of the special operators to give more focus -- otherwise the early levels are a bit too solvable with ".*"
One usability request: after firing a regex, could the text box be cleared? It's not hard to hit Ctrl+A and start typing again, but it does add a bit of friction. (I can send a PR)
I believe that the "enemies":
1. Must start with "#"
2. Must be exactly 6 hex digits
3. Must be lowercase