Register to get access to free programming courses with interactive exercises

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, color, colour, colouur, colouuur


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.

About Hexlet learning process

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

A professional subscription will give you full access to all Hexlet courses, projects and lifetime access to the theory of lessons learned. You can cancel your subscription at any time.

Get access
130
courses
1000
exercises
2000+
hours of theory
3200
tests

Sign up

Programming courses for beginners and experienced developers. Start training for free

  • 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

Our graduates work in companies:

<span class="translation_missing" title="translation missing: en.web.courses.lessons.registration.bookmate">Bookmate</span>
<span class="translation_missing" title="translation missing: en.web.courses.lessons.registration.healthsamurai">Healthsamurai</span>
<span class="translation_missing" title="translation missing: en.web.courses.lessons.registration.dualboot">Dualboot</span>
<span class="translation_missing" title="translation missing: en.web.courses.lessons.registration.abbyy">Abbyy</span>
Suggested learning programs
profession
Development of front-end components for web applications
10 months
from scratch
Start at any time

Use Hexlet to the fullest extent!

  • Ask questions about the lesson
  • Test your knowledge in quizzes
  • Practice in your browser
  • Track your progress

Sign up or sign in

By sending this form, you agree to our Personal Policy and Service Conditions
Toto Image

Ask questions if you want to discuss a theory or an exercise. Hexlet Support Team and experienced community members can help find answers and solve a problem.