Como usar expresiones regulares en javascript

Como usar expresiones regulares en javascript

Ejemplo de coincidencia regex en javascript

No recuerdo muy bien qué hacía esa regex, ni cómo era exactamente, pero me dio un susto de muerte. Mirando en retrospectiva me doy cuenta de que probablemente no daba miedo en absoluto y que, de hecho, era una forma fácil de resolver el problema en cuestión. Pero, ¿por qué tuve esa sensación? Es simplemente la torpeza de la sintaxis, ciertamente parecen extrañas, y si no sabes lo que son, parecen muy complicadas.

Las expresiones regulares son una forma de describir patrones en cadenas de datos. Tienen su propia sintaxis, como si fueran su propio lenguaje de programación, y hay métodos y formas de interactuar con las expresiones regulares en la mayoría de los lenguajes de programación (si no en todos).

Pero, ¿de qué tipo de patrones estamos hablando? Los ejemplos más comunes de expresiones regulares determinan, por ejemplo, si una cadena dada es una dirección de correo electrónico o un número de teléfono, o pueden utilizarse para verificar si una contraseña cumple una determinada complejidad.

En ambos escenarios, la variable regex es un objeto, que expone diferentes métodos que podemos utilizar para interactuar con la expresión regular. Sin embargo, el primer ejemplo tiene un aspecto más familiar, instanciando un objeto con una cadena como parámetro. En el segundo escenario las cosas se ven un poco raras, hay algo que se parece a una cadena pero en lugar de comillas está envuelto en /. Resulta que ambas formas representan lo mismo, personalmente me gusta la segunda opción, que es muy limpia, y los IDEs o editores de código pueden tener resaltado de sintaxis en la expresión regular en comparación con el primer escenario donde el patrón de la expresión regular se define sólo como una cadena.

Javascript regex en línea

La notación literal da lugar a la compilación de la expresión regular cuando se evalúa la expresión. Utilice la notación literal cuando la expresión regular vaya a permanecer constante. Por ejemplo, si utiliza la notación literal para construir una expresión regular utilizada en un bucle, la expresión regular no se recompilará en cada iteración.

EjemplosUtilizando una expresión regular para cambiar el formato de los datosEl siguiente script utiliza el método replace() de la instancia String para que coincida con un nombre en el formato first last y lo muestre en el formato last, first.

Esto muestra «Smith, John».Usando una expresión regular para dividir líneas con diferentes finales de línea/fines de línea/saltos de líneaEl final de línea por defecto varía dependiendo de la plataforma (Unix, Windows, etc.). La división de líneas proporcionada en este ejemplo funciona en todas las plataformas.

Utilizar una expresión regular con la bandera stickyLa bandera sticky indica que la expresión regular realiza una coincidencia sticky en la cadena de destino intentando coincidir a partir de RegExp.prototype.lastIndex.

Expresión regular java

Mirando el ejemplo anterior, nuestra expresión regular es /sampletext/i. Nuestro patrón sería sampletext y (i) sería nuestro modificador. ¿Qué hace un modificador? Se asegura de que la búsqueda no distinga entre mayúsculas y minúsculas.

Podemos ver en este ejemplo que esta vez hay una expresión, un patrón y un modificador. Las expresiones regulares en js nos ayudan a realizar una búsqueda sin distinción de mayúsculas y minúsculas para nuestro «texto de muestra». Una vez más, el resultado para n sería seis.

Debemos tener en cuenta que tanto los métodos search() como replace() en una cadena utilizan argumentos de expresiones regulares. Así, estos métodos operan sin argumentos de cadena y esto ayuda a que la búsqueda sea tan efectiva debido a la característica de insensibilidad a mayúsculas y minúsculas que ofrecen las expresiones regulares en js.

El método test() pertenece al método RegExp. Busca dentro de una cadena un patrón y da como resultado un verdadero o un falso. El resultado depende de la búsqueda realizada. En el ejemplo siguiente, vamos a intentar dar el carácter «s».

Como puede ver en este ejemplo, hay una «s» en la cadena por lo que devolverá true. Tenga en cuenta que no tenemos que poner la expresión en una variable. Las dos líneas mostradas por separado se pueden unir en una sola línea. Se verían así:

Nueva regexp

Los patrones simples se construyen con caracteres para los que se desea encontrar una coincidencia directa. Por ejemplo, el patrón /abc/ coincide con combinaciones de caracteres en cadenas sólo cuando se produce la secuencia exacta «abc» (todos los caracteres juntos y en ese orden).

Las aserciones incluyen los límites, que indican el comienzo y el final de las líneas y las palabras, y otros patrones que indican de alguna manera que es posible una coincidencia (incluyendo las expresiones de búsqueda por adelantado, por detrás y condicionales).

Si utiliza el constructor RegExp con un literal de cadena, recuerde que la barra invertida es un escape en los literales de cadena, por lo que para utilizarla en la expresión regular, debe escaparla en el nivel del literal de cadena.

Si utiliza exec() o match() y si la coincidencia tiene éxito, estos métodos devuelven un array y actualizan las propiedades del objeto de expresión regular asociado y también del objeto de expresión regular predefinido, RegExp.

Los roles de «clase» y «argumento» se invierten: En el caso de .match(), la clase de cadena (o tipo de datos) es la dueña del método y la expresión regular es sólo un argumento, mientras que en el caso de .exec(), es la expresión regular la dueña del método, siendo la cadena el argumento.

Support-help2web

El equipo de Support-help2web publica un amplio contenido sobre informática, noticias y artículos de interés sobre proyectos electrónicos.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.Más información
Privacidad