⊗jsSpRECB 100 of 281 menu

Curly braces in regular expressions in JavaScript

The '+', '*', '?' operators are nice, but they cannot be used to specify a certain number of repetitions. In this case, the operator {} will come to your aid.

It works as follows: {5} - five repetitions, {2,5} - repeats from two to five times (both inclusive), {2,} - repeats two or more times. Please note that there is no such option - {,2}. See examples:

Example

In this example, the search pattern looks like this: letter 'x', letter 'a' once or twice, letter 'x':

let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{1,2}x/g, '!');

As a result, the following will be written to the variable:

'xx ! ! xaaax'

Example

In this example, the search pattern looks like this: letter 'x', letter 'a' two or more times, letter 'x':

let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{2,}x/g, '!');

As a result, the following will be written to the variable:

'xx xax ! !'

Example

In this example, the search pattern looks like this: letter 'x', letter 'a' three times, letter 'x':

let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{3}x/g, '!');

As a result, the following will be written to the variable:

'xx xax xaax !'

Example

In this example, the search pattern looks like this: letter 'a' ten times:

let str = 'aaa aaaaaaaaaa aaa'; let res = str.replace(/a{10}/g, '!');

As a result, the following will be written to the variable:

'aaa ! aaa'

Example

In this example, the code author wanted this pattern: letter 'x', letter 'a' three times or less, letter 'x', but, unfortunately, this - {,3} - does not work. It must be specified explicitly:

let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{1,3}x/g, '!');

As a result, the following will be written to the variable:

'xx ! ! !'

Example

Zero is also allowed:

let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{0,3}x/g, '!');

As a result, the following will be written to the variable:

'! ! ! !'

Practical tasks

Given a string:

let str = 'aa aba abba abbba abbbba abbbbba';

Write a regex that matches only the strings 'abba', 'abbba', 'abbbba'.

Given a string:

let str = 'aa aba abba abbba abbbba abbbbba';

Write a regex that matches the strings like 'aba' where 'b' occurs less than 3 times (inclusive).

Given a string:

let str = 'aa aba abba abbba abbbba abbbbba';

Write a regex that matches the strings like 'aba' where 'b' occurs more than 4 times (inclusive).

enru