Cómo buscar una cadena utilizando el método de coincidencia en JavaScript?

Cómo buscar una cadena utilizando el método de coincidencia en JavaScript?
JavaScript se está convirtiendo en uno de los lenguajes de programación ampliamente utilizados en todo el campo de aplicaciones web de calidad AAA, y esto se debe a su disponibilidad en casi todos los navegadores modernos. Y el hecho de que hay miles de marcos escritos en JavaScript que permiten a los desarrolladores de todo el mundo desarrollar aplicaciones compatibles con Web, Android e incluso iOS de nivel superior.

Las operaciones de cadena son la base de muchas aplicaciones y marcos web importantes y famosos. Desde comparar las contraseñas hasta verificar el nombre de usuario correcto, desde aceptar un código Captcha hasta confirmar una dirección de correo electrónico correcta. Todo se hace usando operaciones de cadena. En JavaScript, hay muchas operaciones de comparación de cadenas disponibles, pero de todas ellas, la más intrigante es la es la .fósforo() método.

Lo que vamos a hacer es cubrir todo sobre el .fósforo() método y mire un nuevo método similar a este también.

Definición y uso

El .fósforo() El método es una función para todas las versiones JS. Este .fósforo() compara cadenas con una expresión regular (regex). O en otras palabras, podemos decir que se usa para buscar objetos de cadena con cualquier regex.

Si la coincidencia se encuentra con la regex, entonces este método devuelve un formación de todos los partidos de lo contrario regresa NULO.

Sintaxis

cadena.Match (regexp)

Parámetros: El parámetro de este método es un "regexp", que significa una expresión regular para comparar con la cadena dada.

Valor de retorno: Comparará la cadena con la regex y devolverá una matriz de todas las coincidencias que puede encontrar. De lo contrario, devolverá nulo.

Ejemplo:

var string = "Hola mundo!";
consola.log (cadena.Match (/ello/g));

Producción:

Devuelve una matriz de todos los partidos de "ello"En la variable de cadena. Además, "G" en el código es un bandera Eso le dice al método que busque todas las coincidencias posibles en la cadena y no se detenga en el primer partido.

¿Qué es una expresión regular?

Si queremos definir expresiones regulares en las palabras oficiales de MDN, sería:

" Los patrones utilizados para combinar las combinaciones de caracteres en la cadenas".

Los patrones pueden incluir no solo caracteres alfanuméricos sino también personajes especiales, diferentes rangos de grupos e incluso caracteres especiales.

Bueno, para concluir definiendo qué es un regex, podemos decir que en el nivel muy básico, se trata de encontrar un patrón en una cadena dada. El uso de este Regex se puede encontrar cuando queremos encontrar un carácter específico de una cadena, o incluso cuando queremos verificar que el formato de correo electrónico ingresado al completar un formulario de inicio de sesión sea una dirección de correo electrónico real con "@" y ".com ”al final.

Diferentes modos de coincidencia (banderas)

El primero es (como se muestra en el ejemplo anterior) utilizando una bandera global "G", que devuelve una matriz de objetos de cadena.

Código:

var string = "Hola mundo!! Hola!";
consola.log (cadena.Match (/ello/g));

Producción:

El siguiente ejemplo es sin el uso de una bandera global:

Código

var string = "Hola mundo!! Hola!";
consola.log (cadena.Match (/ello/));

Producción

A pesar de que hay dos cuerdas coincidentes contra la expresión regular "/ello/", el .fósforo() El método solo se detiene en el primer partido.

El siguiente es usar la bandera de la insensibilidad de caso "i". Esta bandera ignora la sensibilidad del caso de la cadena e intenta encontrar la coincidencia considerando toda la cadena y la regex en la minúscula.

var string = "Hola mundo!! HOLA! HOLA";
consola.log (cadena.Match (/ello/gi));

Producción

En la matriz que devuelve el .fósforo() método. Podemos ver que contiene cuerdas minúsculas y mayúsculas que coincidían con el regex.

El .Método Matchall ()

Hemos aprendido a fondo sobre el .fósforo(), y sabemos que el mundo está evolucionando constantemente en todos los campos, vale la pena señalar que el .Matchall () También se ha agregado en la versión más nueva de JavaScript.

El .Matchall () Utiliza la bandera "G", que ahora está familiarizada (la bandera global), y devuelve un iterador o una matriz vacía:

Ejemplo

Dejar regex = /s (h) (ow (\ d?))/gramo;
Let String = "show1show2show3";
dejar matriz = [... cadena.Matchall (regex)];
para (deja i = 0; yo consola.log (matriz [i]);

Nota: Utilizamos un bucle for para imprimir todos los elementos presentes en la variable de matriz.

Producción:

Bueno, la razón principal para usar el .Matchall () El método se puede ver fácilmente. Podemos ver esto desde la salida que se utiliza para el acceso mejorado a los grupos de captura

Conclusión

Después de este tutorial, probablemente ahora estés familiarizado con el funcionamiento del .fósforo() método, junto con una comprensión básica de expresión regular y también has aprendido sobre el método recién agregado que es el .Matchall () método.

Esto significa que ahora tiene una comprensión básica de las cadenas coincidentes con regex utilizando funciones de JavaScript en construcción. Estos seguramente eran ejemplos bastante básicos y simples, pero aún mostraban el propósito y el funcionamiento de los métodos.