Expressão Regular: Quantificadores

Resumo : neste tutorial, você aprenderá como usar quantificadores para corresponder a um número de instâncias de um caractere, grupo ou classe de caracteres em uma string.

Os quantificadores correspondem a um número de instâncias de um caractere, grupo ou classe de caracteres em uma string.

Quantidade

Contagem exata{n}

Um número entre chaves {n}é o quantificador mais simples. Quando você o acrescenta a um caractere ou classe de caracteres, ele especifica quantos caracteres ou classes de caracteres você deseja corresponder.

Por exemplo, a expressão regular /\d{4}/corresponde a um número de quatro dígitos. É o mesmo que /\d\d\d\d/:

let str = 'ECMAScript 2020';
let re = /\d{4}/;

let result = str.match(re);

console.log(result);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["2020"]Linguagem de código:  JavaScript  ( javascript )

O alcance{n,m}

O intervalo corresponde a um caractere ou classe de caractere de tempos nem mtempos.

Por exemplo, para encontrar números com dois, três ou quatro dígitos, você usa a expressão regular /\d{2,4}/g:

let str = 'The official name of ES11 is ES2020';
let re = /\d{2,4}/g;

let result = str.match(re);
console.log(result);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["11", "2020"]
Linguagem de código:  JavaScript  ( javascript )

Como o limite superior é opcional, {n,}procura uma sequência de nou mais vezes. Por exemplo, a expressão regular /\d{2,}/corresponderá a qualquer número que tenha dois ou mais dígitos.

let str = 'The official name of ES6 is ES2015';
let re = /\d{2,}/g;

let result = str.match(re);
console.log(result);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["2015"]
Linguagem de código:  JavaScript  ( javascript )

O exemplo a seguir usa a expressão regular /\d{1,}/gpara corresponder a qualquer número que tenha um ou mais dígitos em um número de telefone:

let numbers = '+1-(408)-555-0105'.match(/\d{1,}/g);
console.log(numbers);Linguagem de código:  JavaScript  ( javascript )

Saída:

["1", "408", "555", "0105"]
Linguagem de código:  JavaScript  ( javascript )

Taquigrafias

+

O quantificador {1,}significa um ou mais que possuem a abreviatura como +. Por exemplo, as \d+pesquisas por números:

let phone = "+1-(408)-555-0105";
let result = phone.match(/\d+/g);

console.log(result);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["1", "408", "555", "0105"]
Linguagem de código:  JavaScript  ( javascript )

?

O quantificador ?significa zero ou um. É o mesmo que {0,1}. Por exemplo, /colou?r/corresponderá a ambos colore colour:

let str = 'Is this color or colour?';
let result = str.match(/colou?r/g);

console.log(result);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["color", "colour"]
Linguagem de código:  JavaScript  ( javascript )

*

O quantificador *significa zero ou mais. É o mesmo que {0,}. O exemplo a seguir mostra como usar o quantificador *para corresponder à string Javaseguida por qualquer caractere de palavra:

let str = 'JavaScript is not Java';
let re = /Java\w*/g

let results = str.match(re);

console.log(results);
Linguagem de código:  JavaScript  ( javascript )

Saída:

["JavaScript", "Java"]
Linguagem de código:  JavaScript  ( javascript )

Freqüentemente usamos quantificadores para formar expressões regulares complexas. A seguir mostramos alguns exemplos de expressões regulares que incluem quantificadores:

  • Números inteiros:/^\d+$/
  • Números decimais:/^\d*.\d+$/
  • Números inteiros e números decimais:/^\d*(.\d+)?$/
  • Números inteiros negativos e positivos e números decimais:/^-?\d*(.\d+)?$/

Resumo

A tabela a seguir lista os quantificadores:

Quantificador Descrição
* Combine zero ou mais vezes.
+ Combine uma ou mais vezes.
? Combine zero ou uma vez.
{ n } Combine exatamente n vezes.
{ n ,} Combine pelo menos n vezes.
{ n- , m } Combine de n a m vezes.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *