I picked up a new tip yesterday while working with regexes in Ruby.
tl;dr - Use
/.../when matching regexes with more than one
I was testing if a string begins with
https:// and wrote a small regex.
Broken down, this ensures the string:
- Starts with
- The next character is optionally
- The next characters are
Even for such a simple regex that feels a bit hard for me to read. There are too many escaped slashes for my taste.
To improve this a bit you can use
/.../. The syntax works the same but you don’t need to escape slashes.
The regex becomes something much more readable:
GitHub's RuboCop styleguide has a recommendation on when to use this syntax.
%ronly for regular expressions matching more than one ‘/‘ character. - RubuCop Ruby Style Guide
P.S. I could have probably just used two
#starts_with? calls but where’s the fun in that?