Python re(gex)?
Learn Python Regular Expressions step by step from beginner to advanced levels with hundreds of examples and exercises
The book also includes exercises to test your understanding, which is 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 GUI app to practice a subset of the exercises from the book.
See Version_changes.md to keep track of changes made to the book.
E-book
- You can purchase the pdf/epub versions of the book using these links
- https://leanpub.com/py_regex
- You might find reduced price using this coupon: https://leanpub.com/py_regex/c/P7erPYAm1386
- https://learnbyexample.gumroad.com/l/py_regex
- https://leanpub.com/py_regex
- You can also get the book as part of these bundles:
- The Indie Python Extravaganza bundle from https://leanpub.com/b/theindiepythonextravaganza
- Includes Python 101, Pydon'ts, Python re(gex)?, Practice Python Projects and Clean Architectures in Python
- Learn by example Python bundle from https://leanpub.com/b/python-bundle or https://learnbyexample.gumroad.com/l/python-bundle
- Awesome Regex bundle from https://leanpub.com/b/regex or https://learnbyexample.gumroad.com/l/regex
- All books bundle bundle from https://learnbyexample.gumroad.com/l/all-books
- Includes all my programming books
- Python 101 + Python re(gex)? or Python 201: Intermediate Python + Python re(gex)?
- Python 101/201 is authored by Michael Driscoll
- The Indie Python Extravaganza bundle from https://leanpub.com/b/theindiepythonextravaganza
- See https://learnbyexample.github.io/books/ for list of other books
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 pdf from markdown using pandoc if you are interested in the ebook creation process.
For web version of the book, visit https://learnbyexample.github.io/py_regular_expressions/
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 and Contributing
Open an issue if you spot any typo/errors.
I'd also highly appreciate your feedback about the book.
Twitter: https://twitter.com/learn_byexample
Table of Contents
- Preface
- Why is it needed?
- re introduction
- Anchors
- Alternation and Grouping
- Escaping metacharacters
- Dot metacharacter and Quantifiers
- Interlude: Tools for debugging and visualization
- Working with matched portions
- Character class
- Groupings and backreferences
- Interlude: Common tasks
- Lookarounds
- Flags
- Unicode
- regex module
- Gotchas
- Further Reading
Acknowledgements
- Python documentation — manuals and tutorials
- /r/learnpython/, /r/Python/ and /r/regex/ — helpful forums for beginners and experienced programmers alike
- stackoverflow — for getting answers to pertinent questions on Python and regular expressions
- tex.stackexchange — for help on
pandoc
andtex
related questions - Cover image: draw.io, tree icon by Gopi Doraisamy under Creative Commons Attribution 3.0 Unported and wand icon by roundicons.com
- Warning and Info icons by Amada44 under public domain
- pngquant and svgcleaner for optimizing images
- David Cortesi for helpful feedback on both the technical content and grammar issues
- Kye and gmovchan for spotting a typo
- Hugh's email exchanges helped me significantly to improve the presentation of concepts and exercises
- Christopher Patti for reviewing the book, providing feedback and brightening the day with kind words
- Users 73tada, DrBobHope, nlomb and others for feedback in this reddit thread
- mdBook — for web version of the book
- mdBook-pagetoc — for adding table of contents for each chapter
- minify-html — for minifying html files
Special thanks to Al Sweigart, for introducing me to Python with his awesome automatetheboringstuff book and video course.
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