Awesome Regex
Awesome Regex
About the Bundle
Bundle details
Example based guide to mastering Regular Expressions in various programming languages, text editors and command line tools. The bundle includes the following seven books:
- Understanding Python re(gex)? (builtin re and third-party regex modules)
- JavaScript RegExp
- Ruby Regexp
- GNU grep and ripgrep (BRE/ERE, PCRE, Rust regex crate, PCRE2)
- GNU sed (BRE/ERE)
- GNU awk (ERE)
- Vim Reference Guide
The above links point to GitHub repos for the respective book. These repos have files used in examples/exercises and other information related to the books.
- Understanding Python re(gex)?, JavaScript RegExp and Ruby Regexp books are solely focused on regular expressions.
- GNU grep and ripgrep, GNU sed and GNU awk books will help you learn how to use these command line tools from the terminal. The various regex flavors used in these tools are discussed in dedicated chapters/sections with plenty of examples. See my blog post for subtle differences between the BRE/ERE implementations in these tools.
- Vim Reference Guide focuses on the Vim text editor. There's an entire chapter for the Vim regex flavor.
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
Step up your cli fu with this fabulous intro & deep dive into awk. I learned a ton of tricks! — feedback on twitter
Literally was having a mini-breakdown about not understanding Regex in algorithm solutions the other day and now I'm feeling so much better, so thank YOU! I genuinely feel like I'm developing the skill for spotting when and where to use them after so much practice! — feedback on twitter
I consider myself pretty experienced at shell-fu and capable of doing most things I set out to achieve in either bash scripts or fearless one-liners. However, my awk is rudimentary at best, I think mostly because it's such an unforgiving environment to experiment in. These books you've written are great for a bit of first principles insight and then quickly building up to functional usage. I will have no hesitation in referring colleagues to them! — feedback on Hacker News
Hi, great work releasing this! Trying to explain vim concisely is always an interesting challenge and I had a great time reading your attempt in this book. I always find it really interesting on how people try to group certain vim functions in a way that makes sense to people that don't use vim. I think you cover that idea pretty well in your 'Vim philosophy and features' section whilst not making it overly abstract and keeping it relatable. — feedback on Hacker News
Bundle cover image created using canva.
About the Books
Understanding Python re(gex)?
Example based guide to mastering Python regular expressions
Offers
To celebrate the release of Python re(gex)? exercises TUI app, you can get the following books for FREE till 31-Mar-2023:
- Understanding Python re(gex)? https://leanpub.com/py_regex/c/P7erPYAm1386
- Practice Python Projects https://leanpub.com/py_projects/c/HDI4CrZRR1l6
Book details
Scripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.
This book will help you learn Python Regular Expressions, a mini-programming language for all sorts of text processing needs.
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
Both the standard re
module and the popular third-party regex
module are covered in this book.
Exercises are also included to test your understanding.
Prerequisites
You should be familiar with programming basics. You should also have a working knowledge of Python syntax and features like string formats, string methods and list comprehensions.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
If you have prior experience with a programming language but not Python, see my curated list of learning resources before starting this book.
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
GitHub repo
Visit https://github.com/learnbyexample/py_regular_expressions for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
Based on the book contents as well as the exercises, I made an interactive TUI app with 100+ questions covering both the builtin re
module and the third-partyregex
module. These exercises will test your understanding of anchors, alternation, grouping, escaping metacharacters, dot metacharacter, quantifiers, character class, lookarounds, flags, etc.
Feedback and Errata
I would highly appreciate if you'd let me know how you felt about this ebook. 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
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
JavaScript RegExp
an example based guide
Literally was having a mini-breakdown about not understanding Regex in algorithm solutions the other day and now I'm feeling so much better, so thank YOU!
I genuinely feel like I'm developing the skill for spotting when and where to use them after so much practice! — feedback on twitter
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
You should have a good understanding of basic-level programming concepts and prior experience working with JavaScript. Should also know functional programming concepts like map and filter.
Exercises are also included to test your understanding.
Visit https://github.com/learnbyexample/learn_js_regexp for code snippets. The repo also has exercises collated in a single file as well as another file with solutions.
Ruby Regexp
a magical tool for text processing
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
You should have prior experience working with Ruby, should know concepts like blocks, string formats, string methods, Enumerable, etc.
Exercises are also included to test your understanding.
Visit https://github.com/learnbyexample/Ruby_Regexp for code snippets and exercise files. The repo also has solutions for exercises.
GNU GREP and RIPGREP
The search is on
The book heavily leans on examples to present features of grep as well as regular expressions one by one. It is recommended that you manually type each example and experiment with them. Understanding both the nature of sample input string and the output produced is essential.
You should have prior experience working with command line and bash shell, should know concepts like file redirection, command pipeline and so on.
Exercises are also included to test your understanding.
Visit https://github.com/learnbyexample/learn_gnugrep_ripgrep for code snippets and files used for examples/exercises in the book. The repo also has solutions for exercises.
GNU SED
awesome stream editor
The book heavily leans on examples to present features of sed as well as regular expressions one by one. It is recommended that you manually type each example and experiment with them. Understanding both the nature of sample input string and the output produced is essential.
You should have prior experience working with command line and bash shell, should know concepts like file redirection, command pipeline and so on.
Exercises are also included to test your understanding.
Visit https://github.com/learnbyexample/learn_gnused for code snippets and files used for examples/exercises in the book. The repo also has solutions for exercises.
Testimonials
Thank you for choosing to write and share your knowledge. I read your books on CLI and sed - I think they are very comprehensive and very well explained. Keep up the great work — feedback on twitter
GNU AWK
awesome one-liners
This book heavily leans on examples to present options and features of awk as well as regular expressions one by one. It is recommended that you manually type each example and experiment with them. Understanding both the nature of sample input string and the output produced is essential.
You should have prior experience working with command line and bash shell, should know concepts like file redirection, command pipeline and so on. You should also be familiar with programming concepts like variables, printing, functions, control structures, arrays, etc. Knowing basics of grep and sed will help in understanding similar features of awk.
Exercises are also included to test your understanding.
Visit https://github.com/learnbyexample/learn_gnuawk for code snippets and example files used in this book. The repo also has solutions for exercises.
Testimonials
Step up your cli fu with this fabulous intro & deep dive into awk. I learned a ton of tricks! — feedback on twitter
Vim Reference Guide
Concise learning resource for beginner to intermediate level Vim users
About
Vim Reference Guide is intended as a concise learning resource for beginner to intermediate level Vim users. It has more in common with cheatsheets than a typical text book. Topics like Regular Expressions and Macros have more detailed explanations and examples due to their complexity.
The features covered in this guide are shaped and limited by my own experiences since 2007. I had a rough beginning as a design engineer having to learn Linux command line, Vim and Perl on the job. I distinctly remember progressing from dd (delete current line) to d↓ (delete current line as well as the line below) and feeling happy that it reduced time spent on editing. I didn't know about count prefix or the various ways I could've deleted all the lines from the beginning of the file to the line containing a specific phrase. Or even better, I could've automated editing multiple files if I had been familiar with Sed or progressed that far with Perl.
I hope this guide would make it much easier for you to discover Vim features and learning resources than my own blundering experience.
Prerequisites
I do give a brief introduction to get started with using Vim, but having prior experience would be ideal before using this resource. As a minimum requirement, you should be able to use vimtutor on your own.
Video playlist
I'm currently creating short 1-15 minute videos highlighting handy Vim features.
Testimonials
Got several suggestions and feedback when my submission about this book reached the front page of Hacker News.
Great job on this! — rendall
Hi, great work releasing this! Trying to explain vim concisely is always an interesting challenge and I had a great time reading your attempt in this book. I always find it really interesting on how people try to group certain vim functions in a way that makes sense to people that don't use vim. I think you cover that idea pretty well in your 'Vim philosophy and features' section whilst not making it overly abstract and keeping it relatable. — doix
Neat stuff! One piece of feedback is that I would include "+p and "+yy in the copy and paste section. — mrpotato
I learnt regular expression by reading your books, thank you for the great work. — LamJH
A comment from another Hacker News thread:
I stumbled upon your vi post a few days ago, really like the style. Keep it up!
GitHub repo
Visit https://github.com/learnbyexample/vim_reference for markdown source and other details related to the book.
Chapters
- Preface
- Introduction
- Insert mode
- Normal mode
- Command-line mode
- Visual mode
- Regular Expressions
- Macro
- Customizing Vim
- CLI options
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 million USDwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them