Une expression régulière décrit le texte à rechercher. Au lieu d’une phrase exacte, vous définissez un motif : par exemple, le mot « Demande » suivi d’un numéro quelconque. Le numéro peut changer dans chaque message ; le motif retrouvera toujours le bon extrait.
Vous pouvez ainsi rechercher des dates, des liens, des mots isolés, des lignes entières et presque toutes les combinaisons de texte qu’une règle peut décrire. Quelques symboles simples permettent de tenir compte des valeurs variables, de choisir entre plusieurs possibilités et d’ignorer ce qui n’est pas utile. Ce type de recherche offre bien plus de possibilités qu’une simple recherche par mot.

Ce que permettent les expressions régulières
La prise en charge des expressions régulières dans les filtres et les remplacements de FLOWIN permet de :
- Ajouter n’importe quel texte au début ou à la fin des messages.
- Filtrer les messages contenant des liens.
- Supprimer les liens, numéros de téléphone, adresses e-mail et autres coordonnées des messages copiés.
- Filtrer les messages longs ou, au contraire, uniquement les messages courts.
Le mode « Regexp »
Dans les réglages d’un filtre ou d’un remplacement, le mode « Regexp », à côté du champ « Rechercher », active la recherche par expression régulière. Le motif lui-même se saisit dans ce champ. La création de la règle et son application à un transfert sont expliquées dans les guides sur les filtres et remplacements.

Comment lire une expression régulière
Commençons par le motif Demande №\d+. Il trouve aussi bien Demande №125 que Demande №8072, malgré leurs numéros différents. Lisons-le de gauche à droite :
Demande №recherche exactement ces lettres, cet espace et ce signe numéro.\ddésigne n’importe quel chiffre de 0 à 9.+exige un ou plusieurs de ces chiffres à la suite.
L’extrait trouvé s’appelle une correspondance. Le message Demande №125 acceptée contient la correspondance Demande №125, tandis que le mot acceptée restera en dehors. Dans un filtre, la correspondance aide à déterminer si le message remplit la condition ; dans un remplacement, elle indique l’extrait à modifier.
Les lettres ordinaires et les espaces du motif sont recherchés tels qu’ils sont écrits. Les caractères spéciaux définissent des règles. Les principales notations sont expliquées ci-dessous, suivies d’exemples prêts à l’emploi pour différentes tâches.
Syntaxe des expressions régulières
Pour commencer à utiliser les expressions régulières, il faut en connaître la syntaxe, c’est-à-dire comprendre ce que signifient les différents symboles.
Symboles de base
^désigne le début du texte.$désigne la fin du texte..correspond à n’importe quel caractère, y compris un saut de ligne.\dcorrespond à un chiffre de 0 à 9.\wcorrespond à une lettre latine, à un chiffre ou à un trait de soulignement.\ndésigne un saut de ligne.\tdésigne une tabulation.\scorrespond à un espace ordinaire, une tabulation, un saut de ligne, un retour chariot ou un saut de page.\bvérifie une limite de mot, par exemple entre une lettre et un espace. Il n’ajoute lui-même aucun caractère à la correspondance.
Quantificateurs
Les quantificateurs indiquent combien de fois le caractère ou le groupe qui les précède se répète. Un groupe rassemble plusieurs caractères entre parenthèses.
*signifie zéro fois ou plus.+signifie une fois ou plus.?signifie zéro ou une fois.{5}signifie exactement cinq fois.{1,5}signifie entre une et cinq fois.{1,}signifie une fois ou plus.{0,5}signifie entre zéro et cinq fois.
Par exemple :
a+correspond àa,aa,aaaet ainsi de suite..*correspond à n’importe quel texte, même vide.аб{3}correspond àаббб.
Groupes
Les parenthèses ( ) rassemblent les caractères dans un groupe. Les groupes sont le plus souvent utilisés avec des quantificateurs ou avec la barre verticale |, qui représente le OU logique.
Par exemple :
((Bob)|(Alice))correspond aussi bien àBobqu’àAlice.(abc){3}correspond àabcabcabc.
Ensemble de caractères
Pour définir un ensemble de caractères, on utilise les crochets [ ]. À l’intérieur, les caractères peuvent être indiqués ainsi :
[а-яё]correspond à n’importe quelle lettre de l’alphabet russe.[абвгд]ou[а-д]correspond à l’une des lettresа,б,в,гouд.[a-z]correspond à n’importe quelle lettre latine deaàz.[0-5]correspond à n’importe quel chiffre de 0 à 5.
Le symbole ^ au début d’un ensemble représente le NON logique :
[^а-яё]correspond à n’importe quel caractère sauf une lettre de l’alphabet russe.[^a-z]correspond à n’importe quel caractère sauf une lettre latine deaàz.[^\s]correspond à n’importe quel caractère qui ne fait pas partie de\s.
Dans FLOWIN, \w n’inclut pas le cyrillique. [а-яё] couvre l’alphabet russe, y compris ё. La plage [а-я] ne comprend pas cette lettre.
Échappement des caractères
Pour utiliser un caractère spécial comme du texte ordinaire plutôt que comme un élément de syntaxe, on le fait précéder d’une barre oblique inverse \. C’est ce qu’on appelle l’échappement.
Par exemple :
:\)correspond à:). Ici, la parenthèse représente une simple parenthèse, pas un groupe.qui\?correspond àqui?. Ici, le point d’interrogation ne définit pas un nombre de répétitions.
Réglages de recherche dans FLOWIN
Les options de recherche modifient les règles générales : par exemple, faut-il distinguer les majuscules des minuscules ? Dans FLOWIN, certains réglages sont déjà activés. Un même motif peut donc se comporter différemment dans un testeur externe qui utilise ses paramètres par défaut.
Les options sont déjà configurées
Dans les filtres et les remplacements, les options suivantes sont activées : IgnoreCase (i), Singleline (s), RE2 et Unicode. Il n’est pas nécessaire de les ajouter manuellement à chaque motif. Voici ce qu’il faut retenir en pratique :
irend la recherche insensible à la casse :chattrouvera aussi bienChatqueCHAT.spermet au point.de correspondre à un saut de ligne. Ainsi,.*peut englober plusieurs lignes à la fois.- Le mode multiligne
Multiline (m)est désactivé par défaut :^et$désignent le début et la fin du message entier, pas de chaque ligne. RE2définit certaines particularités de la syntaxe :\drecherche les chiffres de 0 à 9, tandis que\wne recherche que les lettres latines, les chiffres et le trait de soulignement. L’activation de l’optionUnicoden’ajoute pas le cyrillique à\w.
Les exemples prêts à l’emploi ci-dessous ne nécessitent aucun changement de réglage. Si vous les testez dans un autre service, tenez compte de ces paramètres : des options portant le même nom ne garantissent pas un comportement identique d’un moteur à l’autre.
Motifs prêts à l’emploi
Choisissez votre tâche, puis copiez le motif dans le champ « Rechercher » en mode « Regexp ». Les exemples montrent précisément le texte trouvé. Ce qui arrivera ensuite au message dépend du filtre ou du remplacement configuré.
Un numéro de demande qui change à chaque fois
Rechercher une demande sans connaître son numéro à l’avance.
Motif :Demande №\d+
Texte : Demande №125 acceptée. Demande №8072 en attente de réponse.
Texte trouvé : Demande №125, Demande №8072.
Le texte « Demande № » reste fixe, tandis que \d+ trouve un ou plusieurs chiffres à la suite. L’espace avant № fait lui aussi partie du motif. « Demande №ABC » ne correspondra pas.
Un message composé uniquement de six chiffres
Sélectionner les messages qui contiennent exactement un code à six chiffres.
Motif :^\d{6}$
Texte : 482901
Texte trouvé : 482901.
Le début et la fin délimitent le message entier, tandis que {6} impose six chiffres. « Code : 482901 », « 48290 » et « 482901 » suivi d’un espace ne correspondront pas.
Une variante de texte parmi plusieurs
Rechercher les messages mentionnant l’un de deux statuts.
Motif :terminé|annulé
Texte : Terminé : fichier envoyé. Un autre travail est annulé.
Texte trouvé : Terminé, annulé.
La barre verticale signifie « ou ». La casse des lettres n’a pas d’importance. Sans limites de mot, le motif trouvera aussi « terminé » à l’intérieur de « terminée ».
Un mot entier, sans correspondance à l’intérieur d’autres mots
Rechercher le mot « chat » en ignorant « chaton » et « rachat ».
Motif :\bchat\b
Texte : Chat, chaton et rachat.
Texte trouvé : Chat.
\b de chaque côté vérifie les limites du mot. Des espaces et des signes de ponctuation peuvent séparer le mot du texte voisin ; ils ne font pas eux-mêmes partie de la correspondance.
Une date au format jour.mois.année
Rechercher une date dont le jour et le mois sont écrits sur deux chiffres, et l’année sur quatre.
Motif :\d{2}\.\d{2}\.\d{4}
Texte : Réunion le 16.10.2026 à 12:00.
Texte trouvé : 16.10.2026.
\. désigne un point ordinaire, pas n’importe quel caractère. Le motif vérifie le format, pas le calendrier : « 99.99.2026 » correspondra lui aussi.
Hashtags en russe et en anglais
Rechercher des hashtags composés de lettres, de chiffres et de traits de soulignement.
Motif :#[а-яёa-z0-9_]+
Texte : #Новости #release_2 #всё_готово
Texte trouvé : #Новости, #release_2, #всё_готово.
Après # vient un ou plusieurs caractères de l’ensemble. Un espace ou un trait d’union met fin à la correspondance : dans « #план-дня », seul « #план » sera trouvé.
Mentions de type @username
Rechercher un texte qui ressemble à une mention d’utilisateur ou de canal.
Motif :@[a-z0-9_]{3,}
Texte : Auteur : @news_room. Un autre : @ab.
Texte trouvé : @news_room.
Après @, il faut au moins trois lettres latines, chiffres ou traits de soulignement. Le motif recherche une forme écrite, sans vérifier l’existence de l’utilisateur. Il peut aussi trouver une partie d’une adresse e-mail.
Liens avec http:// ou https://
Rechercher une adresse web écrite explicitement avec son protocole.
Motif :https?:\/\/[^\s]+
Texte : Ouvrez https://example.org/page et http://example.org
Texte trouvé : https://example.org/page, http://example.org.
La lettre s est facultative. Après //, le motif prend tous les caractères jusqu’au premier espace ou à un autre séparateur appartenant à \s. Une adresse sans protocole ne correspondra pas, tandis qu’une virgule ou un point accolé à l’adresse peut entrer dans la correspondance.
Un numéro de téléphone sous la forme +7 suivi de dix chiffres
Rechercher un numéro écrit d’un seul bloc, sans parenthèses, espaces ni traits d’union.
Motif :\+7\d{10}
Texte : Contact : +79991234567
Texte trouvé : +79991234567.
\+ recherche un signe plus ordinaire, tandis que \d{10} impose exactement dix chiffres après le 7. La variante « +7 (999) 123-45-67 » ne correspondra pas. Il s’agit d’une recherche de forme, pas d’une vérification de l’existence du numéro ; une correspondance est aussi possible à l’intérieur d’une suite de chiffres plus longue.
Messages qui commencent par la mention souhaitée
Rechercher la mention « Important : » uniquement au tout début du message.
Motif :^Important :
Texte : IMPORTANT : réunion reprogrammée.
Texte trouvé : IMPORTANT :.
^ vérifie le début du texte entier. Il n’y aura aucune correspondance dans « Mise à jour : Important : réunion reprogrammée ». La mention au début de la deuxième ligne ne conviendra pas non plus, car le mode multiligne est désactivé par défaut.
Espaces superflus entre les mots
Rechercher au moins deux espaces ordinaires consécutifs pour les remplacer ensuite par un seul.
Motif :[ ]{2,}
On trouvera dans le texte Texte··avec···espaces deux groupes : deux espaces et trois espaces. Le signe · représente ici un espace ordinaire ; il ne faut pas le saisir.
Les crochets contiennent un espace ordinaire et {2,} en exige au moins deux à la suite. Pour supprimer les espaces superflus, remplacez les correspondances par un seul espace. Ce motif ne touche pas aux sauts de ligne.
Messages courts de cent caractères au maximum
Sélectionner les messages non vides de 1 à 100 caractères.
Motif :^.{1,100}$
Texte : Message court
Texte trouvé : Message court.
Le point compte n’importe quel caractère, y compris les espaces et les sauts de ligne. Les accolades fixent les limites, tandis que ^ et $ imposent la vérification du message entier. Un message vide ou un texte de plus de 100 caractères ne correspondra pas. Un emoji composé peut compter comme plusieurs caractères.
La liste sera enrichie. Vous pouvez proposer de nouveaux motifs au support @value_maker.
Tester votre propre motif
Sur regex101.com vous pouvez facilement tester vos expressions régulières. Les réglages de recherche peuvent y différer de ceux de FLOWIN. Avant de les appliquer à un transfert en service, testez-les donc sur des messages avec et sans correspondance attendue.
Questions fréquentes
Quand les modes « Texte » ou « Liste » suffisent-ils, et quand faut-il « Regexp » ?
Le mode « Texte » convient à une phrase connue, tandis que « Liste » permet d’énumérer plusieurs variantes. « Regexp » est utile lorsque le texte varie selon une règle : par exemple, un nouveau numéro suit le mot « Demande » à chaque fois. Il permet aussi de définir des limites de mot ou un nombre de caractères. L’action à appliquer au message trouvé se règle séparément dans le filtre ou le remplacement.
Pourquoi une expression fonctionne-t-elle différemment dans FLOWIN et dans un testeur en ligne ?
Le résultat dépend du moteur et des réglages de recherche. Dans les filtres et les remplacements de FLOWIN, IgnoreCase, Singleline, RE2 et Unicode sont déjà activés, tandis que Multiline est désactivé par défaut. La recherche est donc insensible à la casse, le point peut correspondre à un saut de ligne et ^ et $ s’appliquent au message entier. Comparez les réglages de recherche et testez l’expression dans FLOWIN sur des messages avec et sans correspondance attendue.
Pourquoi .* englobe-t-il plusieurs lignes ?
Dans FLOWIN, Singleline est activé : le point correspond aussi à un saut de ligne. Ainsi, .* ne s’arrête pas nécessairement à la fin de la première ligne. Pour rechercher le texte jusqu’au prochain saut de ligne, vous pouvez utiliser [^\r\n]+ : ce motif recherche un ou plusieurs caractères autres que le retour chariot et le saut de ligne.
Pourquoi \w ne trouve-t-il pas les lettres russes ?
Dans les réglages de recherche de FLOWIN, \w couvre les lettres latines, les chiffres et le trait de soulignement. Pour les lettres russes, utilisez [а-яё], et pour une suite de telles lettres [а-яё]+. La lettre ё doit être indiquée séparément : la plage а-я ne l’inclut pas. Il n’est pas nécessaire de distinguer les majuscules des minuscules, car la recherche est déjà insensible à la casse.
Comment rechercher un mot entier plutôt qu’une partie d’un autre mot ?
Ajoutez \b de chaque côté du mot. Par exemple, \bchat\b trouvera « Chat » dans « Chat, chaton et rachat », mais ignorera les deux autres mots. Les limites vérifient la position du mot ; les espaces et les signes de ponctuation ne font pas partie de l’extrait trouvé.
Le motif de date de l’exemple vérifie-t-il si la date existe ?
Non. L’expression \d{2}\.\d{2}\.\d{4} vérifie uniquement le format : deux chiffres, un point, deux chiffres, un point et quatre chiffres. Elle trouvera donc aussi bien 16.10.2026 que 99.99.2026. Cet exemple permet de rechercher des extraits ressemblant à des dates, mais ne confirme pas que le jour et le mois sont valides.
Que vérifier si l’expression régulière ne trouve rien ?
Vérifiez d’abord que « Regexp » est sélectionné à côté du champ « Rechercher ». Comparez ensuite le motif au texte source : les espaces, les sauts de ligne et les caractères ordinaires influent eux aussi sur la correspondance. Par exemple, Demande №\d+ exige un espace avant № et des chiffres après : il ne trouvera donc pas Demande№125 ou Demande №ABC. Vérifiez aussi les limites ^ et $ : par défaut, elles s’appliquent au message entier. Commencez par un extrait simple et ajoutez les conditions une par une, en vérifiant le résultat à chaque étape.