Skip to main content

Groups and Ranges in JavaScript Regular Expressions (Live Playground)

Groups and ranges in JavaScript regular expressions allow you to organize and match multiple characters in a pattern. In this tutorial, we'll explore different types of groups and ranges and how to use them.

Character Groups

A character group is a set of characters enclosed in square brackets [ ]. It matches any single character within the group:

const vowels = /[aeiou]/; // matches any vowel (a, e, i, o, or u)
Live Playground, Try it Yourself

Negated Character Groups

To match any character not in a group, use a caret symbol ^ at the beginning of the group:

const consonants = /[^aeiou]/; // matches any consonant (not a, e, i, o, or u)
Live Playground, Try it Yourself

Ranges

Within a character group, you can specify a range of characters with a hyphen -. For example, you can match all lowercase letters using the range a-z:

const lowercaseLetters = /[a-z]/; // matches any lowercase letter

You can also combine multiple ranges and individual characters in a single group:

const alphanumeric = /[A-Za-z0-9]/; // matches any uppercase letter, lowercase letter, or digit
Live Playground, Try it Yourself

Capturing Groups

Capturing groups, enclosed in parentheses ( ), allow you to group together and capture part of a pattern:

const datePattern = /(\d{4})-(\d{2})-(\d{2})/; // captures the year, month, and day in a YYYY-MM-DD date format
Live Playground, Try it Yourself

Non-Capturing Groups

To create a non-capturing group, use the syntax (?: ). This allows you to group elements without capturing the matched text:

const nonCapturing = /(?:abc){2}/; // matches 'abcabc' but does not capture the individual 'abc' instances
Live Playground, Try it Yourself

Conclusion

Groups and ranges in JavaScript regular expressions help you organize and match multiple characters in a pattern. We covered character groups, negated character groups, ranges, capturing groups, and non-capturing groups. Understanding how to use groups and ranges effectively will help you create more precise and powerful regular expressions.