Esta tradução está incompleta. Ajude atraduzir este artigo.
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 usandonew
RegExp (obj).
O valor de retorno
array
- Um
Array
contendo os resultados encontrados ounulo
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 nulo
.
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 incluir a bandeira de i forma a que caso será ignorado.
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" is the first match and the first value // remembered from (Chapter \d+(\.\d)*). // ".1" is the last value remembered from (\.\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. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.match' in that specification. |
Standard |
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) |