These are the resources I've consulted while writing the code
- https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/
- https://en.wikipedia.org/wiki/Regular_expression
- https://en.wikipedia.org/wiki/Shunting_yard_algorithm
- https://blog.cernera.me/converting-regular-expressions-to-postfix-notation-with-the-shunting-yard-algorithm/
- https://gobyexample.com/
- https://regex101.com/
- https://en.wikipedia.org/wiki/Thompson%27s_construction
- https://github.com/python/cpython/blob/main/Lib/test/re_tests.py
- https://learn.microsoft.com/en-us/dotnet/standard/base-types/regular-expressions
While my own implementation isn't using the techniques described in above resources, it's still a good idea to take a look at them.