Ruby, like many other languages, contains a powerful text-processing shortcut that looks like it was created by cats walking on the keyboard. Regular expressions can be very difficult to read, especially as they grow longer, but they offer tremendous power that’s hard to re-create in Ruby code. As long as you stay within a modest subset of regular expressions, you can get a lot done without confusing anyone—yourself included—who’s trying to make sense out of your program logic.
For a much more comprehensive guide to regular expressions, see Jeffrey E. F. Friedl’s classic Mastering Regular Expressions (O’Reilly) or Tony Stubblebine’s compact but extensive Regular Expression Pocket Reference (O’Reilly).
Regular expressions help your programs find chunks of text that match patterns you specify. Depending on how you call the regular expression, you may get:
Something matched or it didn’t
All of the pieces that matched your query, so you can sort through them
If you specified that this was a search-and-replace operation, you may have a new string with all of the replacements made
Regular expressions also offer incredible flexibility in specifying search terms. A key part of the reason that regular expressions look so arcane is that they use symbols to specify different kinds of matches, and matches on characters that aren’t easily typed.