REGEX
La función REGEX activa el uso de expresiones regulares en otras funciones condicionales y de texto. Se puede utilizar con todas las funciones que esperan una condición (SI, CONTAR.SI,…) o una coincidencia de cadena (SUSTITUIR, TEXTO.ANTES,…). Cuando no se usa como condición o para comparar texto, la función REGEX devuelve como un valor de cadena la expresión regular subyacente.
REGEX(cadena-expresión-regular; distinguir-mayúsculas-minúsculas)
cadena-expresión-regular: un valor de cadena que representa una expresión regular.
distinguir-mayúsculas-minúsculas: un valor modal opcional que determina si la expresión regular debería considerarse como que distingue o no entre mayúsculas y minúsculas.
Distinguir-mayúsculas-minúsculas (VERDADERO u omitido): Se debe considerar que la expresión regular distingue entre mayúsculas y minúsculas.
Ignorar mayúsculas/minúsculas (FALSO): No se debe considerar que la expresión regular distingue entre mayúsculas y minúsculas.
Notas
La cadena-expresión-regular debe cumplir la norma ICU.
Al igual que se puede concatenar con valores de cadenas normales, una expresión REGEX se puede concatenar con otra REGEX. Sin embargo, si se concatena una expresión REGEX con una cadena normal, el resultado es una cadena normal, que ya no será de tipo REGEX.
Ejemplos |
---|
=RECUENTO.COINCIDENCIAS("Para contar todas las palabras, utiliza la función regex."; REGEX("\w+")) devuelve 9. =TEXTO.ANTES("Obtener todo el texto anterior a los primeros números 12345 - y nada después."; REGEX("[0-9]+")) devuelve "Obtener todo el texto anterior a los primeros números ". Supongamos que cada una de las celdas del intervalo A1:A10 contiene una palabra y que 5 de ellas contienen la letra “a”. =CONTAR.SI(A1:A10; REGEX("a+";FALSO)) devuelve 5. =SUSTITUIR("ejemplo@example.com: Marina Email", REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}") & REGEX(": *"); "") devuelve “Marina Email”. =SUSTITUIR("juan@appleseed.com"; REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+)(\.[A-Za-z]{2,4})"); "$2@$1$3") devuelve “example.com@marina.com”. =RECUENTO.COINCIDENCIAS("Ítem1, ítem2, ítem3"; REGEX("ítem[0-9]")) devuelve 2. =RECUENTO.COINCIDENCIAS("Ítem1, ítem2, ítem3"; REGEX("ítem[0-9]"; FALSE)) devuelve 3. Supongamos que A1 contiene "Correo de cliente: cliente@example.com". =SI(RECUENTO.COINCIDENCIAS(A1; REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")); "Hay una dirección de correo"; "No hay una dirección de correo") devuelve “Hay una dirección de correo”. |