Home

Awesome

Understanding Python re(gex)?

Learn Python Regular Expressions step-by-step from beginner to advanced levels with hundreds of examples and exercises. The standard library re and the third-party regex module are covered in this book. Visit https://youtu.be/2x2n7ynamm8 for a short video about the book.

<p align="center"><img src="./images/py_regex_ls.png" alt="Understanding Python re(gex)? ebook cover image" /></p>

The book also includes exercises to test your understanding, which are presented together as a single file in this repo — Exercises.md

For solutions to the exercises, see Exercise_solutions.md.

You can also use this interactive TUI app to practice most of the exercises from the book.

See Version_changes.md to keep track of changes made to the book.

<br>

E-book

For a preview of the book, see sample chapters

The book can also be viewed as a single markdown file in this repo. See my blogpost on generating pdfs from markdown using pandoc if you are interested in the ebook creation process.

For the web version of the book, visit https://learnbyexample.github.io/py_regular_expressions/

<br>

Testimonials

I love your books on regex...As a student from the Digital VLSI space, it is indeed useful now and definitely in the future. It's really well written and really easy to understand the examples.

feedback on reddit

<br>

Feedback and Contributing

⚠️ ⚠️ Please DO NOT submit pull requests. Main reason being any modification requires changes in multiple places.

I would highly appreciate it if you'd let me know how you felt about this book. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.

You can reach me via:

<br>

Table of Contents

  1. Preface
  2. Why is it needed?
  3. re introduction
  4. Anchors
  5. Alternation and Grouping
  6. Escaping metacharacters
  7. Dot metacharacter and Quantifiers
  8. Interlude: Tools for debugging and visualization
  9. Working with matched portions
  10. Character class
  11. Groupings and backreferences
  12. Interlude: Common tasks
  13. Lookarounds
  14. Flags
  15. Unicode
  16. regex module
  17. Gotchas
  18. Further Reading
<br>

Acknowledgements

Special thanks to Al Sweigart. His Automate the Boring Stuff book was instrumental for me to get started with Python.

<br>

License

The book is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The code snippets are licensed under MIT, see LICENSE file.