Skip to main content

Alternation in JavaScript Regular Expressions (Live Playground)

Alternation in JavaScript regular expressions allows you to match one of several possible patterns within a string. In this tutorial, we'll explore how to use alternation effectively in your regular expressions.

Basic Alternation

To create an alternation, use the pipe symbol |. This allows you to specify different patterns to match:

const colorPattern = /red|blue|green/; // matches 'red', 'blue', or 'green'
Live Playground, Try it Yourself

Alternation with Groups

You can use capturing groups ( ) or non-capturing groups (?: ) to combine alternation with other patterns:

const filePattern = /\.(?:jpg|png|gif)$/; // matches a file extension at the end of a string: '.jpg', '.png', or '.gif'

In the example above, the alternation is used inside a non-capturing group to match one or more subdomains in an email address.

Live Playground, Try it Yourself

Complex Alternation

When using alternation with more complex patterns, it is important to use parentheses to group patterns properly:

const emailPattern = /^[\w._%+-]+@(?:[\w-]+\.)+[A-Za-z]{2,}$/; // matches an email address
Live Playground, Try it Yourself

Alternation and Escaping Characters

When using alternation with characters that have special meaning in regular expressions, make sure to escape them using a backslash \:

const mathPattern = /[\+\-*/]|(?:\*\*)/; // matches basic math operators, including the double asterisk for exponentiation
Live Playground, Try it Yourself

Conclusion

Alternation in JavaScript regular expressions allows you to match one of several possible patterns within a string. We covered basic alternation, alternation with groups, complex alternation, and alternation with escaping characters. Using alternation effectively can help you create versatile and powerful regular expressions for a wide range of pattern-matching tasks.