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.
Una expresión REGEX se puede concatenar con otra expresión REGEX, igual que se puede hacer con valores de cadena normales. 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@email.com: Juan Appleseed", REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}") & REGEX(": *"), "") devuelve “Juan Appleseed”. =SUSTITUIR("john@appleseed.com"; REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+)(\.[A-Za-z]{2,4})"); "$2@$1$3") devuelve “appleseed@juan.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: ejemplo@email.com". =SI(RECUENTOCOINCIDENCIAS(A1; REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")); "Tenemos un mensaje"; "No hay mensajes") devuelve “Tenemos un mensaje”. |