# Quantification —Regular Expressions (Regexp)

In this lesson, we will look at quantification and observe how to find repeating characters using it.

Quantification is searching for sequences. A quantifier is a notation that specifies the number of possible repetitions of a character, a group of characters, or a character class in a regular expression before it.

We will see what all this means. Look at an example with the simplest quantifier `?`, which means to search for matches repeating from zero to one time:

/`colou?`/

colr, `colo`r, `colou`r, `colou`ur, `colou`uur

There is no grouping or character class in this expression. So, the quantifier `?` specifies the number of repetitions for the character `u`. It means the preceding character `u` will repeat ether:

• Zero times — it does not repeat at all
• One time — it occurs once without repetitions

The result is four matches.

And in this example, we will add the character `r` to the pattern string. It will only give us two matches:

/`colou?r`/

colr, `color`, `colour`, colouur, colouuur

Using a grouping and a character class, we get different matches:

• With grouping, we check for the occurrence of the whole group for zero or one time
• With character classes, we check if one of the characters enters for zero or one time. For this case, we don't examine all characters simultaneously

/`col(ou)?r`/

`colr`, color, `colour`, colouur, colouuur

/`col[ou]?r`/

`colr`, `color`, colour, colouur, colouuur

Another often-used quantifier is the `+` character. It indicates that we must find the preceding character, group, or class of characters at least once. It is what happens. Here, the word color is no longer matched:

/`colou+r`/

colr, color, `colour`, `colouur`, `colouuur`

The character `*` indicates either no repetition or multiple repetitions, giving us a match in all substrings:

/`colou*r`/

colr, `color`, `colour`, `colouur`, `colouuur`

There are also more specific quantifiers — we write them in curly brackets `{}`. Between them, you enter the number of repetitions you need:

/`colou{2}r`/

colr, color, colour, `colouur`, colouuur

In addition, you can enter a range of repetitions in curly brackets `{}`. For example, from two to three:

/`colou{2,3}r`/

colr, color, colour, `colouur`, `colouuur`

If we don't enter a number for the upper bound of the range, there won't be a maximum number of repetitions:

/`colou{1,}r`/

colr, color, `colour`, `colouur`, `colouuur`, `colouuuur`, `colouuuuur`

## Are there any more questions? Ask them in the Discussion section.

The Hexlet support team or other students will answer you.

## For full access to the course you need a professional subscription.

130
courses
1000
exercises
2000+
hours of theory
3200
tests

• 130 courses, 2000+ hours of theory
• 1000 practical tasks in a browser
• 360 000 students
By sending this form, you agree to our Personal Policy and Service Conditions

Suggested learning programs
profession
Development of front-end components for web applications
10 months
from scratch
Start at any time