# Expresiones regulares en filtros y reemplazos

Language: es
Canonical: <https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos>
Published: 2026-10-28T03:13:55+00:00
Modified: 2026-10-28T03:13:55+00:00

Una expresión regular describe el texto que quieres encontrar. En lugar de una frase exacta, defines un patrón: por ejemplo, la palabra «Solicitud» y cualquier número que la siga. El número puede cambiar en cada mensaje y el patrón seguirá encontrando el fragmento adecuado.

Así puedes buscar fechas, enlaces, palabras sueltas, líneas enteras y casi cualquier combinación de texto que se pueda describir con una regla. Unos pocos símbolos sencillos permiten tener en cuenta valores cambiantes, elegir entre distintas opciones y omitir lo que no necesitas. Las posibilidades de este tipo de búsqueda van mucho más allá de la búsqueda normal por una palabra.

![Búsqueda de fragmentos de texto que coinciden con un patrón](<https://flowin.click/wp-content/uploads/2026/10/cf-da8cc01b43e113428f944f35.webp>)

Contenido del artículo

- [Posibilidades de las expresiones regulares](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#headline-6-324>)
- [Cómo leer una expresión regular](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#reading-pattern>)
- [Sintaxis de las expresiones regulares](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#headline-11-324>)
- [Configuración de la búsqueda en FLOWIN](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#flowin-flags>)
- [Patrones listos para usar](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#headline-45-640>)
- [Preguntas frecuentes](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#faq>)

## Posibilidades de las expresiones regulares

La compatibilidad con expresiones regulares en los filtros y reemplazos de FLOWIN permite:

- Añadir cualquier texto al principio o al final de los mensajes.
- Filtrar mensajes con enlaces.
- Eliminar enlaces, teléfonos, correos y otros datos de contacto de los mensajes copiados.
- Filtrar mensajes largos o, al contrario, solo los cortos.

Modo «Regexp»

En la configuración de un filtro o un reemplazo, el modo «Regexp», junto al campo «Buscar», activa la búsqueda mediante una expresión regular. El patrón se introduce en ese campo. La creación de una regla y su aplicación a un reenvío se describen en las guías de [filtros](<https://flowin.click/es/articles/filtrado-de-mensajes-reenviados>) y [reemplazos](<https://flowin.click/es/articles/reemplazos-en-los-mensajes-reenviados>).

[![Modo Regexp junto al campo Buscar en la configuración de un reemplazo](<https://flowin.click/wp-content/uploads/2026/10/cf-38b5bca62fadb183ea636e39.webp>)](<https://flowin.click/wp-content/uploads/2026/10/cf-38b5bca62fadb183ea636e39.webp>)

«Regexp» en la configuración de un reemplazo.

## Cómo leer una expresión regular

Empecemos por el patrón ` Solicitud №\d+ `. Encuentra tanto ` Solicitud №125 ` como ` Solicitud №8072 `, aunque los números sean distintos. Leámoslo de izquierda a derecha:

- ` Solicitud № ` busca exactamente esas letras, el espacio y el signo de número.
- ` \d ` representa cualquier dígito del 0 al 9.
- ` + ` exige uno o varios de esos dígitos seguidos.

El fragmento encontrado se llama coincidencia. En el mensaje ` Solicitud №125 aceptada ` la coincidencia será ` Solicitud №125 ` y la palabra ` aceptada ` quedará fuera de ella. En un filtro, la coincidencia ayuda a determinar si el mensaje cumple la condición; en un reemplazo, indica qué fragmento se debe modificar.

Las letras y los espacios normales de un patrón se buscan tal como están escritos. Los símbolos especiales definen reglas. A continuación se explican los símbolos principales y después se reúnen ejemplos listos para distintas tareas.

## Sintaxis de las expresiones regulares

Para empezar a utilizar expresiones regulares, necesitas conocer la sintaxis, es decir, entender qué significan determinados símbolos.

### Símbolos básicos

- ` ^ ` indica el principio del texto.
- ` $ ` indica el final del texto.
- ` . ` coincide con cualquier carácter, incluido un salto de línea.
- ` \d ` coincide con un dígito del 0 al 9.
- ` \w ` coincide con una letra latina, un dígito o un guion bajo.
- ` \n ` representa un salto de línea.
- ` \t ` representa una tabulación.
- ` \s ` coincide con un espacio normal, una tabulación, un salto de línea, un retorno de carro o un salto de página.
- ` \b ` comprueba un límite de palabra, por ejemplo, entre una letra y un espacio. No añade ningún carácter a la coincidencia.

### Cuantificadores

Los cuantificadores indican cuántas veces se repite el carácter o el grupo que los precede. Un grupo reúne varios caracteres entre paréntesis.

- ` * ` significa 0 o más veces.
- ` + ` significa 1 o más veces.
- ` ? ` significa 0 o 1 vez.
- ` {5} ` significa exactamente 5 veces.
- ` {1,5} ` significa entre 1 y 5 veces.
- ` {1,} ` significa 1 o más veces.
- ` {0,5} ` significa entre 0 y 5 veces.

Por ejemplo:

- ` a+ ` coincide con ` a `, ` aa `, ` aaa ` y así sucesivamente.
- ` .* ` coincide con cualquier texto, incluso vacío.
- ` ab{3} ` coincide con ` abbb `.

### Grupos

Los paréntesis ` ( ) ` reúnen caracteres en un grupo. Los grupos se utilizan sobre todo con [cuantificadores](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#quantifiers>) o con la barra vertical ` | ` que representa el O lógico.

Por ejemplo:

- ` ((Bob)|(Alice)) ` coincide tanto con ` Bob ` como con ` Alice `.
- ` (abc){3} ` coincide con ` abcabcabc `.

### Conjuntos de caracteres

Para indicar un conjunto de caracteres se utilizan los corchetes ` [ ] `. Dentro de ellos puedes enumerar los caracteres así:

- ` [а-яё] ` coincide con cualquier letra del alfabeto ruso.
- ` [абвгд] ` o ` [а-д] ` coincide con una de las letras ` а `, ` б `, ` в `, ` г ` o ` д `.
- ` [a-z] ` coincide con cualquier letra latina de la ` a ` a la ` z `.
- ` [0-5] ` coincide con cualquier dígito del 0 al 5.

El símbolo ` ^ ` al principio de un conjunto representa el NO lógico:

- ` [^а-яё] ` coincide con cualquier carácter que no sea una letra del alfabeto ruso.
- ` [^a-z] ` coincide con cualquier carácter que no sea una letra latina de la ` a ` a la ` z `.
- ` [^\s] ` coincide con cualquier carácter que no esté incluido en ` \s `.

En FLOWIN, ` \w ` no incluye los caracteres cirílicos. ` [а-яё] ` abarca el alfabeto ruso, incluida la ` ё `. El intervalo ` [а-я] ` no incluye esa letra.

### Escape de caracteres

Si necesitas un símbolo especial como texto normal y no como parte de la sintaxis, se antepone una barra invertida ` \ `. Esto se llama escape de caracteres.

Por ejemplo:

- ` :\) ` coincide con ` :) `. Aquí el paréntesis representa un paréntesis normal, no un grupo.
- ` quién\? ` coincide con ` quién? `. Aquí el signo de interrogación no define el número de repeticiones.

## Configuración de la búsqueda en FLOWIN

Los indicadores cambian las reglas generales de búsqueda: por ejemplo, si hay que distinguir entre mayúsculas y minúsculas. En FLOWIN ya están activados algunos ajustes, por lo que un mismo patrón puede comportarse de forma distinta que en un comprobador externo con la configuración predeterminada.

Los indicadores ya están configurados

En los filtros y reemplazos están activados ` IgnoreCase (i) `, ` Singleline (s) `, ` RE2 ` y ` Unicode `. No necesitas añadirlos manualmente a cada patrón. Esto es lo importante en la práctica:

- ` i ` desactiva la distinción entre mayúsculas y minúsculas: ` gato ` encontrará tanto ` Gato ` como ` GATO `.
- ` s ` permite que el punto ` . ` coincida con un salto de línea. Por eso, ` .* ` puede abarcar varias líneas a la vez.
- El modo multilínea ` Multiline (m) ` está desactivado por defecto: ` ^ ` y ` $ ` se refieren al principio y al final de todo el mensaje, no de cada línea.
- ` RE2 ` define particularidades de la sintaxis: ` \d ` busca los dígitos del 0 al 9, y ` \w ` solo las letras latinas, los dígitos y el guion bajo. Tener activado ` Unicode ` no añade los caracteres cirílicos a ` \w `.

Para los ejemplos siguientes no necesitas cambiar ningún ajuste. Si los pruebas en otro servicio, ten en cuenta esta configuración: que los indicadores tengan el mismo nombre no garantiza un comportamiento idéntico entre distintos motores.

## Patrones listos para usar

Elige una tarea y copia el patrón en «Buscar» con el modo «Regexp». Los ejemplos muestran exactamente el texto encontrado. Lo que ocurra después con el mensaje depende del filtro o reemplazo configurado.

### Número de solicitud que cambia cada vez

Encontrar una solicitud sin conocer de antemano su número.

Patrón:  
` Solicitud №\d+ `

Texto: ` Solicitud №125 aceptada. Solicitud №8072 pendiente de respuesta. `

Encontrará: ` Solicitud №125 `, ` Solicitud №8072 `.

El texto «Solicitud №» permanece igual, mientras que ` \d+ ` encuentra uno o varios dígitos seguidos. El espacio anterior a № también forma parte del patrón. «Solicitud №ABC» no coincidirá.

### Mensaje compuesto solo por seis dígitos

Seleccionar mensajes que contengan exactamente un código de seis dígitos.

Patrón:  
` ^\d{6}$ `

Texto: ` 482901 `

Encontrará: ` 482901 `.

El principio y el final delimitan todo el mensaje, y ` {6} ` define seis dígitos. No coincidirán «Código: 482901», «48290» ni «482901 » con un espacio al final.

### Una de varias opciones de texto

Encontrar mensajes que mencionen uno de dos estados.

Patrón:  
` listo|cancelado `

Texto: ` Listo: archivo enviado. Otro trabajo cancelado. `

Encontrará: ` Listo `, ` cancelado `.

La barra vertical significa «o». No se distingue entre mayúsculas y minúsculas. Sin límites de palabra, el patrón también encontrará «listo» dentro de «listos».

### Palabra completa, sin coincidencias dentro de otras palabras

Encontrar la palabra «gato», omitiendo «gatito» y «alegato».

Patrón:  
` \bgato\b `

Texto: ` Gato, gatito y alegato. `

Encontrará: ` Gato `.

` \b ` a ambos lados comprueba los límites de la palabra. Los espacios y la puntuación pueden separar la palabra del texto vecino; no forman parte de la coincidencia.

### Fecha con el formato día.mes.año

Encontrar una fecha con el día y el mes escritos con dos dígitos y el año con cuatro.

Patrón:  
` \d{2}\.\d{2}\.\d{4} `

Texto: ` Reunión 16.10.2026 a las 12:00. `

Encontrará: ` 16.10.2026 `.

` \. ` representa un punto normal y no cualquier carácter. El patrón comprueba la forma de escribir la fecha, pero no el calendario: «99.99.2026» también coincidirá.

### Hashtags en ruso e inglés

Encontrar hashtags compuestos por letras, dígitos y guiones bajos.

Patrón:  
` #[а-яёa-z0-9_]+ `

Texto: ` #Новости #release_2 #всё_готово `

Encontrará: ` #Новости `, ` #release_2 `, ` #всё_готово `.

Después de \# hay uno o varios caracteres del conjunto. Un espacio o un guion terminará la coincidencia: en «\#план-дня» solo se encontrará «\#план».

### Menciones del tipo @username

Encontrar texto que se parezca a una mención de un usuario o canal.

Patrón:  
` @[a-z0-9_]{3,} `

Texto: ` Autor: @news_room. Otro: @ab. `

Encontrará: ` @news_room `.

Después de @ debe haber al menos tres letras latinas, dígitos o guiones bajos. El patrón busca la forma de escribirlo, sin comprobar que el usuario exista. También puede encontrar parte de una dirección de correo electrónico.

### Enlaces con http:// o https://

Encontrar una dirección web escrita explícitamente con su protocolo.

Patrón:  
` https?:\/\/[^\s]+ `

Texto: ` Abre https://example.org/page y http://example.org `

Encontrará: ` https://example.org/page `, ` http://example.org `.

La letra s es opcional. Después de //, el patrón recoge los caracteres hasta el espacio u otro separador más próximo de ` \s `. No coincidirá con una dirección sin protocolo, mientras que una coma o un punto pegados a la dirección pueden formar parte de la coincidencia.

### Teléfono escrito con +7 y diez dígitos

Encontrar un número escrito seguido, sin paréntesis, espacios ni guiones.

Patrón:  
` \+7\d{10} `

Texto: ` Contacto: +79991234567 `

Encontrará: ` +79991234567 `.

` \+ ` busca un signo más normal, y ` \d{10} ` define exactamente diez dígitos después del 7. «+7 (999) 123-45-67» no coincidirá. Es una búsqueda por la forma de escribir el número, no una comprobación de que exista; también puede haber coincidencias dentro de una secuencia de dígitos más larga.

### Mensajes que empiezan con la indicación deseada

Encontrar la indicación «Importante:» solo al principio del mensaje.

Patrón:  
` ^Importante: `

Texto: ` IMPORTANTE: se ha aplazado la reunión. `

Encontrará: ` IMPORTANTE: `.

^ comprueba el principio de todo el texto. No habrá coincidencia en «Actualización: Importante: se ha aplazado la reunión». Tampoco coincidirá la indicación al principio de la segunda línea, ya que el modo multilínea está desactivado por defecto.

### Espacios de más entre palabras

Encontrar dos o más espacios normales seguidos para después sustituirlos por uno.

Patrón:  
` [ ]{2,} `

En el texto ` Texto··con···espacios ` se encontrarán dos grupos: de dos y de tres espacios. El signo ` · ` aquí solo representa un espacio normal; no debes introducirlo.

Dentro de los corchetes hay un espacio normal, y ` {2,} ` exige al menos dos seguidos. Para quitar los espacios de más, se sustituyen los fragmentos encontrados por un solo espacio. Este patrón no afecta a los saltos de línea.

### Mensajes cortos de hasta cien caracteres

Seleccionar mensajes no vacíos con una longitud de entre 1 y 100 caracteres.

Patrón:  
` ^.{1,100}$ `

Texto: ` Mensaje corto `

Encontrará: ` Mensaje corto `.

El punto cuenta cualquier carácter, incluidos espacios y saltos de línea. Las llaves fijan los límites, y ^ y $ exigen comprobar el mensaje completo. No coincidirán un mensaje vacío ni un texto de más de 100 caracteres. Un emoji compuesto puede contar como varios caracteres.

La lista seguirá creciendo. Puedes enviar propuestas de patrones nuevos al contacto de soporte [@value\_maker](<https://t.me/value_maker>).

Comprobación de tu propio patrón

En [regex101.com](<https://regex101.com/>) puedes probar cómodamente tus propias expresiones regulares. La configuración de búsqueda puede ser distinta de la de FLOWIN, por lo que antes de aplicarlas a un reenvío en uso debes probarlas con mensajes de prueba: con una coincidencia esperada y sin ella.

## Preguntas frecuentes

 

**¿Cuándo basta con «Texto» o «Lista» y cuándo se necesita «Regexp»?**

El modo «Texto» sirve para una frase conocida, mientras que «Lista» permite enumerar varias opciones. «Regexp» se necesita cuando el texto cambia siguiendo una regla: por ejemplo, si cada vez hay un número nuevo después de «Solicitud». También ayuda a definir los límites de palabra o el número de caracteres. La acción sobre el mensaje encontrado se configura por separado en [el filtro](<https://flowin.click/es/articles/filtrado-de-mensajes-reenviados>) o [el reemplazo](<https://flowin.click/es/articles/reemplazos-en-los-mensajes-reenviados>).

 

**¿Por qué una expresión se comporta de forma distinta en FLOWIN que en un comprobador en línea?**

El resultado depende del motor y de la configuración de la búsqueda. Los filtros y reemplazos de FLOWIN ya tienen activados IgnoreCase, Singleline, RE2 y Unicode, mientras que Multiline está desactivado por defecto. Por eso no se distingue entre mayúsculas y minúsculas, el punto puede coincidir con un salto de línea, y ` ^ ` y ` $ ` se refieren al mensaje completo. Comprueba [la configuración de la búsqueda](<https://flowin.click/es/articles/expresiones-regulares-en-filtros-y-reemplazos#flowin-flags>) y prueba la expresión en FLOWIN con mensajes que deban coincidir y otros que no.

 

**¿Por qué .\* abarca varias líneas?**

FLOWIN tiene Singleline activado: el punto también coincide con un salto de línea. Por eso, ` .* ` no tiene por qué detenerse al final de la primera línea. Si necesitas encontrar texto hasta el salto de línea más próximo, puedes utilizar ` [^\r\n]+ `: este patrón busca uno o varios caracteres que no sean retornos de carro ni saltos de línea.

 

**¿Por qué \\w no encuentra letras rusas?**

En la configuración de búsqueda de FLOWIN, ` \w ` abarca letras latinas, dígitos y el guion bajo. Para las letras rusas, utiliza ` [а-яё] ` y para una secuencia de esas letras, ` [а-яё]+ `. La letra ` ё ` debe indicarse por separado: el intervalo ` а-я ` no la incluye. No necesitas distinguir entre mayúsculas y minúsculas, porque la búsqueda ya ignora esa diferencia.

 

**¿Cómo encuentro una palabra completa y no dentro de otra?**

Añade ` \b ` a ambos lados de la palabra. Por ejemplo, ` \bgato\b ` encontrará «Gato» en el texto «Gato, gatito y alegato», pero omitirá las otras dos palabras. Los límites comprueban la posición de la palabra; los espacios y los signos de puntuación no forman parte del fragmento encontrado.

 

**¿Comprueba el patrón de fecha del ejemplo si esa fecha existe?**

No. La expresión ` \d{2}\.\d{2}\.\d{4} ` solo comprueba la forma de escribirla: dos dígitos, un punto, dos dígitos, otro punto y cuatro dígitos. Por eso encontrará tanto ` 16.10.2026 ` como ` 99.99.2026 `. Este ejemplo sirve para buscar fragmentos que parezcan fechas, pero no confirma que el día y el mes sean válidos.

 

**¿Qué compruebo si una expresión regular no encuentra nada?**

Primero comprueba que esté seleccionado «Regexp» junto al campo «Buscar». Después compara el patrón con el texto original: los espacios, los saltos de línea y los signos normales también influyen en la coincidencia. Por ejemplo, ` Solicitud №\d+ ` exige un espacio antes de № y dígitos después, por lo que no encontrará ` Solicitud№125 ` o ` Solicitud №ABC `. Comprueba también los límites ` ^ ` y ` $ `: por defecto se refieren al mensaje completo. Empieza por un fragmento sencillo y añade las condiciones de una en una, comprobando el resultado cada vez.
