⊗jsSpREChSI 104 of 281 menu

Inverting character sets in regular expressions in JavaScript

With the hat '^' at the beginning of the square brackets, you can invert what you want. That is, if, for example, the command [ab] looks for the letter 'a' or 'b', then the command [^ab] will look for all characters except 'a' and 'b'.

Example

In this example, the search pattern looks like this: letter 'x', then NOT the letter 'a', not 'b' and not 'c', then letter 'z':

let str = 'xaz xbz xcz xez'; let res = str.replace(/x[^abc]z/g, '!');

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

'xax xbx xcx !'

Example

In this example, the search pattern looks like this: letter 'x', then NOT a small Latin letter, then letter 'z':

let str = 'xaz xbz x1z xСz'; let res = str.replace(/x[^a-z]z/g, '!');

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

'xaz xbz ! !'

Practical tasks

Write a regex that matches strings with the pattern: digit '1', then not character 'e' and not 'x', digit '2'.

Write a regex that matches strings with a pattern: letter 'x', then NOT a digit from 2 to 7, letter 'z'.

Write a regex that matches strings with a pattern: letter 'x', then NOT a capital Latin letter 1 and more times, letter 'z'.

Write a regex that matches strings with a pattern: letter 'x', then NOT a capital or small Latin letter and not a digit from 1 to 5 - 1 and more times, letter 'z'.

enru