MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Tradução em progresso.

Resumo

O método match() recupera as correspondências ao testar uma string com uma expressão regular.

Sintaxe

str.match(regexp);

Parâmetros

regexp
Um objeto de expressão regular. Se o objeto passado não for um RegExp, será convertido para um novo RegExp usando new RegExp (obj).

O valor de retorno

array
Um Array contendo os resultados encontrados ou null se não encontrar valores que correspondam ao RexExp passado.

Descrição

Se a expressão regular não incluir o sinalizador g, retorna o mesmo resultado que RegExp.exec (str). A retornou Matriz tem uma propriedade de entrada(input) extra, que contém a string original que foi analisado. Além disso, ele tem uma propriedade index, que representa o índice baseado em zero da partida na seqüência.

Se a expressão regular inclui o sinalizador g, o método retorna uma matriz contendo todos os matches. Se não houvesse matches, o método retorna null.

Veja também: métodos RegExp

  • Se você precisar saber  se uma string corresponde a uma expressão regular, use RegExp.test (str).
  • Se você apenas quiser a primeira correspondência encontrada, você talvez queira usar RegExp.exec().
  • Se você quiser obter um array de correspondências e a flag global estiver definida, você deve usar RegExp.exec().

Exemplos

Exemplo: Usando match

No exemplo a seguir, match é usado para encontrar o "Capítulo", seguido de um ou mais caracteres numéricos, seguido por um ponto decimal e caracteres numéricos 0 ou mais vezes. A expressão inclui a flag i para que diferenças de maiúscula/minúscula sejam ignoradas.

var str = "For more information, see Chapter 3.4.5.1";
var re = /(chapter \d+(\.\d)*)/i;
var found = str.match(re);

console.log(found);

// logs ["Chapter 3.4.5.1", "Chapter 3.4.5.1", ".1"]

// "Chapter 3.4.5.1" é a primeira correspondência e o primeiro valor 
//  lembrado a partir de (Chapter \d+(\.\d)*).

// ".1" é o útlimo valor de (\.\d).

Exemplo: Usando global e ignorar bandeiras(flags) de caso com match

O exemplo seguinte demonstra o uso de bandeiras de casos globais e ignoram com match. Todas as letras de A a E e A a E são devolvidos, cada um o seu próprio elemento na matriz

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);

console.log(matches_array); 
// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']

Especificações

Especificações Estado Comentário
ECMAScript 3rd Edition. Standard Initial definition.
Implemented in JavaScript 1.2
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.match' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.match' in that specification.
Padrão  

Compatibilidade de Navegador

característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: soutomario, henriquejensen, naccarati, teoli, Nathalino_Pacheco
 Última atualização por: soutomario,