# data[].attributes.body
Quizás, generalmente el usuario prefiera utilizar el método match(reg) de los string , que permiten ejecutar la búsqueda de la expresión regular reg pasada por parámetro, sobre esa variable de texto. El resultado es que nos devuelve un array con los string capturados

# data[].attributes.body
Pero con las expresiones regulares no sólo podemos realizar búsquedas de patrones. Una de las características más importantes de las expresiones regulares es lo potente y versátil que resultan las capturas de patrones.

Toda expresión regular que utilice la parentización (englobe con paréntesis fragmentos de texto) está realizando implícitamente una captura de texto, que es muy útil para obtener rápidamente información.

Para ello, dejamos de utilizar el método test(str) y comenzamos a utilizar exec(str), que funciona exactamente igual, sólo que devuelve un array con las capturas realizadas. Antes de empezar a utilizarlo, necesitamos saber detalles sobre la parentización

# data[].attributes.body
En las expresiones regulares los cuantificadores permiten indicar cuántas veces se puede repetir el carácter inmediatamente anterior. Existen varios tipos de cuantificadores

# data[].attributes.body
Dentro de las expresiones regulares, las anclas son un recurso muy importante, ya que permiten deliminar los patrones de búsqueda e indicar si empiezan o terminan por carácteres concretos, siendo mucho más específicos al realizar la búsqueda

# data[].attributes.body
En el interior de los corchetes, si establecemos dos carácteres separados por guión, por ejemplo [0-9], se entiende que indicamos el rango de carácteres entre 0 y 9, sin tener que escribirlos todos explícitamente.

De esta forma podemos crear rangos como [A-Z] (mayúsculas) o [a-z] (minúsculas), o incluso varios rangos específicos como [A-Za-z0-9]

# data[].attributes.body
Dentro de las expresiones regulares los corchetes [] tienen un significado especial. Se trata de un mecanismo para englobar un conjunto de carácteres personalizado. Por otro lado, si incluimos un circunflejo ^ antes de los carácteres del corchete, invertimos el significado, pasando a ser que no exista el conjunto de carácteres personalizado

# data[].attributes.body
Antes de comenzar a utilizar expresiones regulares hay que aprender la parte más compleja de ellas: los carácteres especiales. Dentro de las expresiones regulares, existen ciertos carácteres que tienen un significado especial, y también, muchos de ellos dependen de donde se encuentren para tener ese significado especial, por lo que hay que aprender bien como funcionan.

# data[].attributes.body
Los objetos RegExp tienen varios métodos para utilizar expresiones regulares contra textos y saber si «casan» o no, es decir, si el patrón de la expresión regular encaja con el texto propuesto.

# data[].attributes.body
Cada una de estas flags se pueden comprobar si están activas desde Javascript con su booleano asociado, que es una propiedad de la expresión regular

# data[].attributes.body
El segundo parámetro del new RegExp() o el que se escribe después de la segunda barra / delimitadora del literal de las expresiones regulares, son una serie de carácteres que indican los flags activos en la expresión regular en cuestión

# data[].attributes.body
Cada expresión regular creada, tiene unas propiedades definidas, donde podemos consultar ciertas características de la expresión regular en cuestión. Además, también tiene unas propiedades de comprobación para saber si un flag determinado está activo o no

# data[].attributes.body
Las expresiones regulares (a menudo llamadas RegExp o RegEx) son un sistema para buscar, capturar o reemplazar texto utilizando patrones. Estos patrones permiten realizar una búsqueda de texto de una forma relativamente sencilla y abstracta, de forma que abarca una gran cantidad de posibilidades que de otra forma sería imposible o muy costosa.

# data[].attributes.body
En muchas ocasiones nos encontraremos en la situación de querer realizar una o varias acciones si se cumple un determinado caso. Pero muchas veces, esos casos no son tan simples, sino que existe un número muy alto de situaciones diferentes que no podemos cubrir de formas tradicionales. En esas situaciones es donde las expresiones regulares quizás nos puedan ser de ayuda.