Las expresiones regulares, también conocidas como regex o regexp, son una forma de buscar patrones de texto. Son muy útiles para validar cadenas de texto, buscar y reemplazar elementos de un texto, entre otras cosas.
En JavaScript, los regex pueden ser utilizados con los métodos `test()` y `exec()` del objeto RegExp, o con los métodos `match()`, `replace()`, `search()` y `split()` de String.
Primero, debes crear una expresión regular. Esto se puede hacer de dos maneras:
1. Utilizando una expresión regular literal:
```javascript
let regex = /abc/;
```
2. Utilizando el constructor RegExp:
```javascript
let regex = new RegExp(‘abc’);
```
Luego puedes usar este objeto regex en combinación con uno de los métodos mencionados anteriormente. Por ejemplo:
Método test():
Este método devuelve true si la cadena pasa el test del patrón.
```javascript
let regex = /hola/;
console.log(regex.test(‘hola mundo’)); // devuelve true
```
Método exec():
Este método devuelve un array con los resultados si encuentra coincidencias, o null si no las encuentra.
```javascript
let regex = /hola/;
console.log(regex.exec(‘hola mundo’)); // devuelve [“hola”, index: 0, input: “hola mundo”, groups: undefined]
```
Método match():
Este método de String puede ser utilizado para buscar coincidencias.
```javascript
let str = ‘hola mundo’;
console.log(str.match(/hola/)); // devuelve [“hola”, index: 0, input: “hola mundo”, groups: undefined]
```
Método replace():
Este método de String puede ser utilizado para reemplazar texto que coincida con la expresión regular.
```javascript
let str = ‘hola mundo’;
console.log(str.replace(/hola/, ‘adios’)); // devuelve “adios mundo“
```
Método search():
Este método de String devuelve el índice de la primera coincidencia, o -1 si no encuentra ninguna.
```javascript
let str = ‘hola mundo’;
console.log(str.search(/hola/)); // devuelve 0
```
Método split():
Este método de String puede usar una expresión regular como delimitador.
```javascript
let str = ‘hola mundo’;
console.log(str.split(/\s/)); // devuelve [“hola”, “mundo”]
```