Las expresiones regulares son un mecanismo bastante potente con el cual se pueden manipular cadenas de caracteres, se pueden realizar búsquedas por patrón y reemplazos de cadena, consiste en establecer un patrón (Ejemplo: solo letras, solo números, palabra en específica, etc…) el cual luego se podrá utilizar ya sea para reemplazar una cadena o buscar el patrón dentro de la misma. Las expresiones regulares en JavaScript se basan en las de Perl, por lo que son muy parecidas. JavaScript provee dos formas de crear una expresión regular, a través de un objeto, el objeto RegExp, y a través de una sintaxis especialmente pensada para ello (Crear un String con el siguiente formato: «/<patrón>/».). A continuación una lista de los caracteres, los más usados, que pueden constituir una expresión regular en JavaScript:
Comodines | Significado | Ejemplo |
\ | Marca de carácter especial | /\.com/; Busca la cadena «.com». |
^ | Comienzo de una línea | /^a/; Cadenas que comienzan con ‘a’. |
$ | Final de una línea | /a$/; Cadenas que terminen con ‘a’. |
. | Cualquier carácter (menos salto de línea) |
/^….$/; Cadenas de 4 caracteres. |
| | Indica opciones | /^a|^1/; Cadenas que comiencen con ‘a’ o con ‘1’. |
() | Agrupar caracteres | /(abc123)/; Busca la cadena ‘abc123’; |
[] | Conjunto de caracteres opcionales. |
/[a-z]/; Busca una letra de la ‘a’ a la ‘z’. |
Modificadores | Significado | Ejemplo |
* | Repetir 0 o más veces | /1*234/; Buscaría: «234»,»1234″,»11234″,etc. |
+ | Repetir 1 o más veces | /1+234/; Buscaría: «1234»,»11234″,»111234″,etc. |
? | 1 o 0 veces | /h?ola/; Buscaría: «hola»,»ola». |
{n} | Exactamente n veces | /1{2}234/; Buscaría: «11234»; |
{n,} | Al menos n veces | /1{2,}234/; Buscaría: «11234»,»111234″,»1111234″,etc. |
{n,m} | Entre n y m veces | /1{2,3}234/; Buscaría: «11234»,»111234″. |
Especiales | Significado | Ejemplo |
\d | Un dígito. | /\d/; Busca un dígito del ‘0’ al ‘9’. |
\D | Alfabético. | /\D/; Busca cualquier caracter que no sea un número. |
\w | Cualquier alfanumérico, equivalente a [a-zA-Z0-9_ ] |
/\w/; Busca un caracter alfanumérico incluyendo el ‘_’. |
\W | Opuesto a \w | /\W/; Busca cualquier caracter que no sea alfanumérico ni ‘_’. |
\s | Carácter tipo espacio | /12\s34/; Buscaría «12 34». |
\S | Opuesto a \s | /12\S34/; Buscaría «1234». |
Flags | Significado | Modo de uso |
g | Explora la cadena completa | Las Flags se utilizan al final del patrón después de cerrarlo con ‘/’, Ejemplos de uso:»/[a-z]/i»; Buscaría una letra mayúscula o minúscula. Ejemplo: «Hola»,»hola»,»HOLA»,etc…»/[a-z]*/ix»; Buscaría letras mayúsculas o minúsculas ignorando los espacios en la cadena. Ejemplo: «Ho la», «ho la», «HO LA»,etc… |
i | No distinguir entre mayúsculas y minúsculas |
|
m | Permite usar varios ^ y $ en el patrón |
|
s | Incluye el salto de linea en el comodín ‘.’ |
|
x | Ignora los espacios en el patrón |
Ahora aquí les dejo unas expresiones regulares y la forma de validar y reemplazar cadenas con JavaScript:
}
}
}
}
Espero les sirva esta pequeña guía.
Esteban Olate