Ruby_Regexp icon indicating copy to clipboard operation
Ruby_Regexp copied to clipboard

Learn Ruby Regexp step-by-step from beginner to advanced levels with plenty of examples and exercises.

Ruby Regexp

Learn Ruby Regexp 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.

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


E-book

  • You can download the pdf/epub versions of the book for free using the below links (you can also pay if you wish)
    • https://learnbyexample.gumroad.com/l/rubyregexp
    • https://leanpub.com/rubyregexp
  • You can also get the book as part of these bundles:
    • Awesome Regex bundle from https://learnbyexample.gumroad.com/l/regex or https://leanpub.com/b/regex
    • Ruby text processing bundle from https://learnbyexample.gumroad.com/l/ruby-textprocessing or https://leanpub.com/b/ruby-textprocessing
    • All books bundle bundle from https://learnbyexample.gumroad.com/l/all-books
      • Includes all my programming books
  • 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/Ruby_Regexp/


Feedback

Open an issue if you spot any typo/errors.

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

I'd also highly appreciate your feedback about the book.

Twitter: https://twitter.com/learn_byexample


Table of Contents

  1. Preface
  2. Why is it needed?
  3. Regexp 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. Modifiers
  15. Unicode
  16. Further Reading

Acknowledgements

Special thanks to Allen Downey, an attempt at translating his book Think Python to Think Ruby gave me the confidence to publish my own book.


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