Lessons · Regex · alternation (or)
This or that
a|b matches either. Its scope is everything on each side, so group it: gr(a|e)y.
Hone is a place to practise programming. This is one of its lessons, written out in full and free to read without an account.
What it is for
Yes/no answers, several file extensions, a list of allowed words.
How to think about it
What are the alternatives, and what applies to all of them? Put alternatives in a group so anchors and neighbours apply to all of them: ^(yes|no)$.
Worked example
pattern: \.(png|jpg|gif)$Ends with one of three extensions.
text: photo.jpgMatch.
text: photo.jpegNo match.
Your turn
Match cat or dog as whole words.
\b(catdog)\b
Test a pattern against real text
The trap
^yes|no$ means 'starts with yes' OR 'ends with no'. The group is not optional.
Practise alternation (or) on HoneA question on it now, a coding challenge where there is one, and it is remembered for review. Free, no email needed.