Expresiones regulares de JavaScript
Una expresión regular es una secuencia de caracteres que forma un patrón de búsqueda.
El patrón de búsqueda se puede utilizar para operaciones de búsqueda y reemplazo de texto.
¿Qué es una expresión regular?
Una expresión regular es una secuencia de caracteres que forma un patrón de búsqueda .
Cuando busca datos en un texto, puede usar este patrón de búsqueda para describir lo que está buscando.
Una expresión regular puede ser un solo carácter o un patrón más complicado.
Las expresiones regulares se pueden utilizar para realizar todo tipo de operaciones de búsqueda y reemplazo de texto .
Sintaxis
/pattern/modifiers;
Ejemplo
/w3schools/i;
Ejemplo explicado:
/w3schools/i es una expresión regular.
w3schools es un patrón (para ser usado en una búsqueda).
i es un modificador (modifica la búsqueda para que no distinga entre mayúsculas y minúsculas).
Uso de métodos de cadena
En JavaScript, las expresiones regulares se usan a menudo con los dos métodos de cadena : search()
y replace()
.
El search()
método utiliza una expresión para buscar una coincidencia y devuelve la posición de la coincidencia.
El replace()
método devuelve una cadena modificada donde se reemplaza el patrón.
Uso de la búsqueda de cadenas () con una cadena
El search()
método busca una cadena para un valor específico y devuelve la posición de la coincidencia:
Ejemplo
Use una cadena para buscar "W3schools" en una cadena:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
El resultado en n será:
6
Uso de la búsqueda de cadenas () con una expresión regular
Ejemplo
Utilice una expresión regular para realizar una búsqueda sin distinción entre mayúsculas y minúsculas de "w3schools" en una cadena:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
El resultado en n será:
6
Usando String replace () con una cadena
El replace()
método reemplaza un valor especificado con otro valor en una cadena:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Usar String replace() con una expresión regular
Ejemplo
Use una expresión regular que no distinga entre mayúsculas y minúsculas para reemplazar Microsoft con W3Schools en una cadena:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
El resultado en res será:
Visit W3Schools!
¿Te diste cuenta?
Los argumentos de expresión regular (en lugar de argumentos de cadena) se pueden usar en los métodos anteriores.
Las expresiones regulares pueden hacer que su búsqueda sea mucho más poderosa (sin distinción entre mayúsculas y minúsculas, por ejemplo).
Modificadores de expresiones regulares
Los modificadores se pueden utilizar para realizar búsquedas más globales que no distinguen entre mayúsculas y minúsculas:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
Patrones de expresiones regulares
Los corchetes se utilizan para encontrar un rango de caracteres:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Los metacaracteres son caracteres con un significado especial:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
Los cuantificadores definen cantidades:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
Uso del objeto RegExp
En JavaScript, el objeto RegExp es un objeto de expresión regular con propiedades y métodos predefinidos.
Usando prueba()
El test()
método es un método de expresión RegExp.
Busca un patrón en una cadena y devuelve verdadero o falso, según el resultado.
El siguiente ejemplo busca en una cadena el carácter "e":
Ejemplo
const pattern = /e/;
pattern.test("The best things in life are free!");
Dado que hay una "e" en la cadena, la salida del código anterior será:
true
No tienes que poner primero la expresión regular en una variable. Las dos líneas anteriores se pueden acortar a una:
/e/.test("The best things in life are free!");
Usando exec ()
El exec()
método es un método de expresión RegExp.
Busca una cadena para un patrón específico y devuelve el texto encontrado como un objeto.
Si no se encuentra ninguna coincidencia, devuelve un objeto vacío (nulo) .
El siguiente ejemplo busca en una cadena el carácter "e":
Ejemplo
/e/.exec("The best things in life are free!");
Referencia RegExp completa
Para obtener una referencia completa, vaya a nuestra Referencia completa de expresiones regulares de JavaScript .
La referencia contiene descripciones y ejemplos de todas las propiedades y métodos RegExp.