Coincidencia de cadena de JavaScript ()

El método JavaScript String match () devuelve el resultado de hacer coincidir una cadena con una expresión regular.

La sintaxis del match()método es:

 str.match(regexp)

Aquí, str es una cadena.

Parámetros de match ()

El match()método incluye:

  • regexp: un objeto de expresión regular (el argumento se convierte implícitamente en RegExpsi no es un RegExpobjeto)

Nota: Si no proporciona ningún parámetro, match()devuelve ("").

Valor de retorno de match ()

  • Devuelve un elemento que Arraycontiene las coincidencias, un elemento para cada coincidencia.
  • Devuelve nullsi no se encuentra ninguna coincidencia.

Ejemplo 1: uso de 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);

Salida

 Resultado de la coincidencia / Java /: ('Java', índice: 14, entrada: 'Estoy aprendiendo JavaScript, no Java.', Grupos: indefinido) Resultado de la coincidencia / Java / con el indicador g: ('Java', 'Java' )

Aquí, podemos ver que sin usar la gbandera, obtenemos solo la primera coincidencia como resultado, pero con información detallada como índice, entrada y grupos.

Nota : Si la expresión regular no incluye la gbandera, str.match()solo devolverá la primera coincidencia similar a RegExp.exec(). El artículo devuelto también tendrá las siguientes propiedades adicionales:

  • groups - Un objeto de grupos de captura con nombre que tienen claves como nombres y valores como coincidencias capturadas.
  • index - El índice de búsqueda donde se encontró el resultado.
  • input - Una copia de la cadena de búsqueda.

Ejemplo 2: secciones coincidentes en una cadena

 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")

Salida

 ('nombre es Albert', 'NOMBRE es Soyuj.') (nombre: "Albert")

Aquí, hemos usado una expresión regular para hacer coincidir una cierta porción de la cadena. También podemos capturar ciertos grupos en el partido usando la sintaxis como se muestra arriba.

Lectura recomendada: JavaScript String matchAll ()

Articulos interesantes...