Correspondência de string Javascript ()

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 RegExpse for um não RegExpobjeto)

Nota: Se você não fornecer nenhum parâmetro, match()retorna ("").

Valor de retorno de match ()

  • Retorna um Arraycontendo as correspondências, um item para cada correspondência.
  • Retorna nullse 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 gsinalizador, 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 gsinalizador, 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 ()

Artigos interessantes...