JavaScript Expresiones regulares
Una expresión regular (en inglés: Regular Expression, a menudo abreviada en código como regex, regexp o RE) utiliza una sola cadena para describir y hacer coincidir una serie de patrones de búsqueda de cadenas que se ajustan a una determinada regla sintáctica.
El patrón de búsqueda se puede usar para la búsqueda y el reemplazo de texto.
¿Qué es una expresión regular?
Una expresión regular es un patrón de búsqueda formado por una secuencia de caracteres.
Cuando buscas datos en un texto, puedes usar el patrón de búsqueda para describir lo que quieres consultar.
Una expresión regular puede ser un carácter simple o un patrón más complejo.
Las expresiones regulares se pueden usar en todas las operaciones de búsqueda y reemplazo de texto.
Puedes acceder a más contenido sobre expresiones regulares en:Expresiones regulares - Tutorial.
Sintaxis
/cuerpo de la expresión regular/modificador (opcional)
Donde los modificadores son opcionales.
Ejemplo:
Análisis del ejemplo:
/ejemplo/iEs una expresión regular.
ejemploes uncuerpo de la expresión regular(para la búsqueda).
ies unmodificador(para buscar sin distinguir entre mayúsculas y minúsculas).
Usar métodos de cadenas
En JavaScript, las expresiones regulares se usan normalmente con dos métodos de cadena: search() y replace().
search() El método se utiliza para buscar la subcadena especificada en una cadena, o la subcadena que coincida con una expresión regular, y devuelve la posición inicial de la subcadena.
replace() El método se utiliza para reemplazar unas cadenas por otras en una cadena, o reemplazar una subcadena que coincida con una expresión regular.
El método search() con una expresión regular
Ejemplo
Buscar la cadena "Ejemplo" usando una expresión regular, sin distinguir entre mayúsculas y minúsculas:
El resultado es:
Pruébalo »
El método search() con una cadena
El método search() puede usar una cadena como argumento. El argumento de cadena se convierte en una expresión regular:
Ejemplo
Buscar la subcadena "Ejemplo" en la cadena:
Pruébalo »
El método replace() con una expresión regular
Ejemplo
Usando una expresión regular sin distinguir entre mayúsculas y minúsculas, reemplaza Microsoft por Ejemplo en la cadena:
El resultado es:
Pruébalo »
El método replace() con una cadena
El método replace() tomará una cadena como argumento:
Pruébalo »
¿Lo has notado?
![]() |
Los argumentos de expresiones regulares se pueden usar en los métodos anteriores (en lugar de argumentos de cadena). Las expresiones regulares hacen que la función de búsqueda sea más potente (como en el ejemplo de no distinguir entre mayúsculas y minúsculas). |
|---|
Modificadores de expresiones regulares
ModificadorPuede no distinguir entre mayúsculas y minúsculas en una búsqueda global:
| Modificador | Descripción |
|---|---|
| i | Realiza una coincidencia que no distingue entre mayúsculas y minúsculas. |
| g | Realiza una coincidencia global (encuentra todas las coincidencias en lugar de detenerse después de la primera). |
| m | Realiza una coincidencia multilínea. |
Patrones de expresiones regulares
Los corchetes se utilizan para buscar caracteres dentro de un rango:
| Expresión | Descripción |
|---|---|
| [abc] | Busca cualquier carácter entre corchetes. |
| [0-9] | Busca cualquier dígito del 0 al 9. |
| (x|y) | Busca cualquier opción separada por |. |
Los metacaracteres son caracteres que tienen un significado especial:
| Metacaracter | Descripción |
|---|---|
| \d | Busca un dígito. |
| \s | Busca un carácter de espacio en blanco. |
| \b | Coincide con un límite de palabra. |
| \uxxxx | Busca un carácter Unicode especificado por el número hexadecimal xxxx. |
Cuantificadores:
| Cuantificador | Descripción |
|---|---|
| n+ | Coincide con cualquier cadena que contenga al menos unnde la cadena. |
| n* | Coincide con cualquier cadena que contenga cero o másnde la cadena. |
| n? | Coincide con cualquier cadena que contenga cero o unnde la cadena. |
Usar el objeto RegExp
En JavaScript, el objeto RegExp es un objeto de expresión regular con propiedades y métodos predefinidos.
Usar test()
El método test() es un método de expresión regular.
El método test() se utiliza para comprobar si una cadena coincide con un patrón. Si la cadena contiene texto que coincide, devuelve true; de lo contrario, devuelve false.
El siguiente ejemplo se utiliza para buscar el carácter "e" en una cadena:
Ejemplo
patt.test("The best things in life are free!");
La cadena contiene "e", por lo que la salida de este ejemplo es:
Pruébalo »
No es necesario crear una variable para la expresión regular; las dos líneas de código anteriores se pueden combinar en una sola línea:
Usar exec()
El método exec() es un método de expresión regular.
El método exec() se utiliza para buscar una coincidencia de la expresión regular en una cadena.
Esta función devuelve un array que contiene los resultados de la coincidencia. Si no se encuentra ninguna coincidencia, el valor devuelto es null.
El siguiente ejemplo se utiliza para buscar la letra "e" en una cadena:
Ejemplo 1
La cadena contiene "e", por lo que la salida de este ejemplo es:
Pruébalo »
Más ejemplos
JS: comprobar si la cadena de entrada está compuesta por números, letras y guiones bajos
JS: comprobar si la cadena de entrada está compuesta completamente por letras
JS: comprobar si la cadena de entrada está compuesta completamente por números
Manual de referencia completo de RegExp
Para consultar el manual de referencia completo del objeto RegExp, consulta nuestroManual de referencia de RegExp de JavaScript。
Este manual de referencia incluye todos los métodos y propiedades del objeto RegExp.
Otras extensiones