O método match () da String JavaScript retorna o resultado da correspondência de uma string com uma expressão regular.
A sintaxe do match()
método é:
str.match(regexp)
Aqui, str é uma string.
Parâmetros match ()
O match()
método inclui:
- regexp - Um objeto de expressão regular (o argumento é implicitamente convertido em
RegExp
se for um nãoRegExp
objeto)
Nota: Se você não fornecer nenhum parâmetro, match()
retorna ("")
.
Valor de retorno de match ()
- Retorna um
Array
contendo as correspondências, um item para cada correspondência. - Retorna
null
se nenhuma correspondência for encontrada.
Exemplo 1: usando match ()
const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);
Resultado
Resultado da correspondência de / Java /: ('Java', índice: 14, entrada: 'Estou aprendendo JavaScript, não Java.', Grupos: indefinido) Resultado da correspondência de / Java / com sinalizador g: ('Java', 'Java' )
Aqui, podemos ver que sem usar o g
sinalizador, obtemos apenas a primeira correspondência como resultado, mas com informações detalhadas como índice, entrada e grupos.
Observação : se a expressão regular não incluir o g
sinalizador, str.match()
retornará apenas a primeira correspondência semelhante a RegExp.exec()
. O item devolvido também terá as seguintes propriedades adicionais:
groups
- Um objeto de grupos de captura nomeados tendo chaves como nomes e valores como correspondências capturadas.index
- O índice de pesquisa onde o resultado foi encontrado.input
- Uma cópia da string de pesquisa.
Exemplo 2: Correspondência de seções em string
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")
Resultado
('nome é Albert.', 'NOME é Soyuj.') (nome: "Albert")
Aqui, usamos uma expressão regular para corresponder a uma determinada parte da string. Também podemos capturar certos grupos na correspondência usando a sintaxe conforme mostrado acima.
Leitura recomendada: string JavaScript matchAll ()