miércoles, 6 de mayo de 2015

JavaScript - Expresiones Regulares

Las expresiones regulares son patrones utilizados para encontrar una determinada combinación de caracteres dentro de una cadena de texto. En JavaScript, las expresiones regulares también son objetos. Estos patrones son utilizados a través de los métodos exec y test de RegExp, así como los métodos match, replace, search y split de String. En este capítulo se describe el uso y funcionamiento de las expresiones regulares en JavaScript.

Creación de una expresión regular
Una expresión regular puede crearse de cualquiera de las siguientes dos maneras:

Utilizando una representación literal de la expresión:
var re = /ab+c/;
La representación literal compila la expresión regular una vez que el script ha terminado de cargar. Es recomendable utilizar esta representación cuando la expresión regular permanecerá sin cambios durante la ejecución del script, puesto que ofrece un mejor desempeño.

Constructor del objeto RegExp:
var re = new RegExp("ab+c");
El uso del constructor ofrece una compilación de la expresión regular en tiempo de ejecución. Su uso es recomendable en aquellos escenarios en que el patrón de la expresión regular pueda cambiar durante la ejecución del script, o bien, se desconoce el patrón, dado que se obtiene desde otra fuente, cuando es suministrado por el usuario, por ejemplo.

Escribiendo un patrón de expresión regular
Un patrón de expresión regular se compone de caracteres simples, como /abc/, o una combinación de caracteres simples y especiales, como /ab*c/ o /Chapter (\d+)\.\d*/. El segundo ejemplo incluye paréntesis, los cuales se emplean como un recurso de memoria. La coincidencia encontrada por esta parte del patrón es almacenada para posterior uso, como se describe en Using Parenthesized Substring Matches.

Utilizando patrones simples
Los patrones simples se construyen con caracteres para los que se desea una coincidencia exacta. Por ejemplo, el patrón /abc/ coincidirá sólo con esta secuencia exacta y orden de caracteres ('abc'). Tal expresión tendría resultados en las cadenas "Hi, do you know your abc's?" y "The latest airplane designs evolved from slabcraft." En ambos existe una coincidencia exacta con la subcadena 'abc'. No hay coincidencia en la cadena 'Grab crab' debido a que, a pesar de que contiene los caracteres 'a', 'b' y 'c', la sequencia 'abc' nunca aparece.

Utilizando caracteres especiales
Cuando la búsqueda de coincidencia requiere algo más que una coincidencia exacta, como por ejemplo el encontrar una o más 'b', o encontrar espacios en blanco, se incluyen en el patrón caracteres especiales. Por ejemplo, el patrón /ab*c/ coincidirá con cualquier secuencia de caracteres en la cual una 'a' preceda a cualquier cantidad de 'b' (cero o más) y sea inmediatamente seguida por una 'c'. En la cadena 'cbbabbbbcdebc,' el patrón coincidirá con la subcadena 'abbbbc'.

En la tabla que sigue se muestran los caracteres comodín usados para crear los patrones y su significado, junto a un pequeño ejmplo de su utilización.

La tabla que sigue describe los modificadores que pueden usarse con los caracteres que forman el patrón. Cada modificador actúa sobre el carácter o el paréntesis inmediatamente anterior.

Los siguientes son caracteres especiales o metacaracteres para indicar caracteres de texto no imprimibles, como puedan ser el fín de línea o un tabulador, o grupos predefinidos de caracteres (alfabéticos, numéricos, etc...)


No hay comentarios:

Publicar un comentario