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.

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 y reemplazos.

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.\drepresenta 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.\dcoincide con un dígito del 0 al 9.\wcoincide con una letra latina, un dígito o un guion bajo.\nrepresenta un salto de línea.\trepresenta una tabulación.\scoincide con un espacio normal, una tabulación, un salto de línea, un retorno de carro o un salto de página.\bcomprueba 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 cona,aa,aaay así sucesivamente..*coincide con cualquier texto, incluso vacío.ab{3}coincide conabbb.
Grupos
Los paréntesis ( ) reúnen caracteres en un grupo. Los grupos se utilizan sobre todo con cuantificadores o con la barra vertical | que representa el O lógico.
Por ejemplo:
((Bob)|(Alice))coincide tanto conBobcomo conAlice.(abc){3}coincide conabcabcabc.
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 laaa laz.[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 laaa laz.[^\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 conquié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:
idesactiva la distinción entre mayúsculas y minúsculas:gatoencontrará tantoGatocomoGATO.spermite 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. RE2define particularidades de la sintaxis:\dbusca los dígitos del 0 al 9, y\wsolo las letras latinas, los dígitos y el guion bajo. Tener activadoUnicodeno 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.
Comprobación de tu propio patrón
En 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 o el reemplazo.
¿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 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.