Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/learnbyexample/py_regular_expressions
Learn Python Regular Expressions step by step from beginner to advanced levels
https://github.com/learnbyexample/py_regular_expressions
ebook exercises learning-by-doing python regex regular-expressions
Last synced: 5 days ago
JSON representation
Learn Python Regular Expressions step by step from beginner to advanced levels
- Host: GitHub
- URL: https://github.com/learnbyexample/py_regular_expressions
- Owner: learnbyexample
- License: mit
- Created: 2019-01-11T10:22:19.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-10T10:48:07.000Z (over 1 year ago)
- Last Synced: 2024-11-30T12:04:46.547Z (12 days ago)
- Topics: ebook, exercises, learning-by-doing, python, regex, regular-expressions
- Language: Python
- Homepage: https://learnbyexample.github.io/py_regular_expressions/
- Size: 4.59 MB
- Stars: 1,767
- Watchers: 39
- Forks: 224
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - learnbyexample/py_regular_expressions - Learn Python Regular Expressions step by step from beginner to advanced levels (Python)
README
# 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.
The book also includes exercises to test your understanding, which are presented together as a single file in this repo — [Exercises.md](./exercises/Exercises.md)
For solutions to the exercises, see [Exercise_solutions.md](./exercises/Exercise_solutions.md).
You can also use [this interactive TUI app](https://github.com/learnbyexample/TUI-apps/tree/main/PyRegexExercises) to practice most of the exercises from the book.
See [Version_changes.md](./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://learnbyexample.gumroad.com/l/py_regex
* https://leanpub.com/py_regex
* You can also get the book as part of these bundles:
* **All books bundle** bundle from https://learnbyexample.gumroad.com/l/all-books
* Includes all my programming books
* **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
* **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*
* [Python 101 + Python re(gex)?](https://leanpub.com/b/python101pythonregex) or [Python 201: Intermediate Python + Python re(gex)?](https://leanpub.com/b/python201_and_regex)
* Python 101/201 is authored by [Michael Driscoll](https://www.blog.pythonlibrary.org/)
* See https://learnbyexample.github.io/books/ for list of other booksFor a preview of the book, see [sample chapters](./sample_chapters/py_regex_sample.pdf)
The book can also be [viewed as a single markdown file in this repo](./py_regex.md). See my blogpost on [generating pdfs from markdown using pandoc](https://learnbyexample.github.io/customizing-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/
# 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](https://old.reddit.com/r/Python/comments/i0m2sy/i_know_python_basics_what_next/fzql5gh/)
# 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:
* Issue Manager: [https://github.com/learnbyexample/py_regular_expressions/issues](https://github.com/learnbyexample/py_regular_expressions/issues)
* E-mail: `echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode`
* Twitter: [https://twitter.com/learn_byexample](https://twitter.com/learn_byexample)
# 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
# Acknowledgements
* [Python documentation](https://docs.python.org/3/) — manuals and tutorials
* [/r/learnpython/](https://old.reddit.com/r/learnpython/), [/r/Python/](https://old.reddit.com/r/Python/) and [/r/regex/](https://old.reddit.com/r/regex/) — helpful forums for beginners and experienced programmers alike
* [stackoverflow](https://stackoverflow.com/) — for getting answers to pertinent questions on Python and regular expressions
* [tex.stackexchange](https://tex.stackexchange.com/) — for help on [pandoc](https://github.com/jgm/pandoc/) and `tex` related questions
* [canva](https://www.canva.com/) — cover image
* [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain
* [oxipng](https://github.com/shssoichiro/oxipng), [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) — optimizing images
* [David Cortesi](https://leanpub.com/u/dcortesi) for helpful feedback on both the technical content and grammar issues
* **Kye** and [gmovchan](https://github.com/gmovchan) for spotting a typo
* **Hugh**'s email exchanges helped me significantly to improve the presentation of concepts and exercises
* [Christopher Patti](https://github.com/feoh) 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](https://old.reddit.com/r/learnpython/comments/hmvnt1/my_python_regex_ebook_with_hundreds_of_examples/)
* [mdBook](https://github.com/rust-lang/mdBook) — for web version of the book
* [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc) — for adding table of contents for each chapter
* [minify-html](https://github.com/wilsonzlin/minify-html) — for minifying html filesSpecial thanks to Al Sweigart. His [Automate the Boring Stuff](https://automatetheboringstuff.com/) book was instrumental for me to get started with Python.
# License
The book is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/).
The code snippets are licensed under MIT, see [LICENSE](./LICENSE) file.