Le support des regex dans l'éditeur en ligne est limité par l'implémentation du moteur Lucene Regex.
Pour utiliser les regex, activez dans les paramètres du filtre. Une coche verte dans le champ de saisie du filtre indique la validation réussie d'une regex valide.
Les requêtes sont, par défaut, insensibles à la casse. Activez dans les paramètres du filtre pour les rendre sensibles à la casse.
(en s'assurant de ne correspondre qu'aux mots complets et non aux sous-chaînes dans des mots plus longs) n'est pas disponible.
La requête ^abc$ fonctionnera comme prévu, c'est-à-dire en correspondant à l'ensemble du segment, tandis que correspondra à la sous-chaîne abc dans n'importe quel texte.
Limitations
Le remplacement correct des requêtes partiellement formatées n'est pas pris en charge, par exemple, rechercher "Jméno: $1, Příjmení: $2." dans le texte "\{b\>Prénom<}: Bob, \{biu\>Nom de famille\<biu\}: Dylan." sera remplacé par “{>Jméno: Bob, Příjmení: Dylan\<b\}”
Modèles non pris en charge
-
L'ancre de limite de mot
\butilisée pour correspondre à des mots exacts (fonctionne dans l'éditeur de bureau). -
\\[1-9]- Références inverses (\1, \2, etc.), par exemple(\w+)\s+\1pour correspondre à des mots dupliqués comme “bonjour bonjour” -
\(\?=|\(\?!|\(\?<=|\(\?<!- Anticipation et rétroaction, par exemplechat(?=\.jpg)pour correspondre à “chat” uniquement dans “chat.jpg” -
\(\?:- Groupes non capturants, par exemple (?:M.|Mme|Mlle)\. \w+,mais les groupes capturants(M.|Mme|Mlle)\. \w+sont pris en charge et correspondent à des noms comme “Mme. Smith”, “M. Brown” -
\(\?#- Commentaires en ligne, par exemple\d{4}-(?# année)\d{2}-(?# mois)\d{2}(?# jour)pour correspondre à “2025-06-25” -
\(\?P<[^>]+>- Groupes de capture nommés, par exemple (?P<montant>\d+)\s?(?P<devise>USD|EUR)pour correspondre à “150 USD” et “99 EUR”
Point (.) comme espace réservé pour n'importe quel caractère unique
-
c.at: Correspondances : “chat”, “manteau” . Ne correspond pas : “chat”, “tricher” -
wa.ter: Correspondances : “serveur”, “gaspilleur” . Ne correspond pas : “eau” -
s.ip: Correspondances : “sauter”, “navire”, “glisser” . Ne correspond pas : “siroter”, “décaper”
? - Zéro ou une occurrence
-
colou?r: Correspondances : “couleur”, “couleur” . -
g?rain: Correspondances : “grain”, “pluie” . -
books?: Correspondances : “livre”, “livres” .
.* - Un nombre quelconque de caractères (y compris aucun)
-
h.*y: Correspondances : “heureux”, “histoire”, “miel” . -
sa.*d: Correspondances : “triste”, “sable”, “satisfait” . -
m.*ing: Correspondances : “matin”, “réunion”, “marketing” .
.+ - Au moins un caractère doit apparaître
-
pa.+er: Correspondances : “papier”, “peintre” . -
a.+edCorrespondances : “demandé”, “accepté”, “permis” .
* - Zéro ou plusieurs occurrences
-
go*al: Correspondances : “objectif”, “goooooooal”
+ - Une ou plusieurs occurrences
-
non+: Correspond à : “non”, “nonooooo” -
$1+: Correspond à : “$1”, “$11”, “$111”
Il est recommandé d'utiliser un motif aussi spécifique que possible, car des motifs ouverts peuvent causer des problèmes de performance dans l'éditeur.
Important
L'éditeur a une limite intégrée sur la complexité d'un motif regex. Des motifs trop larges ou utilisant beaucoup de caractères génériques peuvent échouer en tant que regex invalides. Pour éviter cela :
-
Gardez les motifs courts et spécifiques.
error-[0-9]{3}est acceptable ;.*a.*b.*c.*d.*ne l'est pas. -
Minimisez les caractères génériques. Chaque
.+ou.*multiplie la complexité interne. Préférez les classes de caractères comme[A-Z]+plutôt que.*lorsque c'est possible. -
Évitez les longues alternations avec répétition. Un motif comme
(mot1|mot2|...|mot20){2,}peut rapidement dépasser la limite. Cela est amplifié lorsque les alternatives incluent plusieurs mots ou ponctuation, ce qui augmente la complexité du regex. -
Ancrez un côté lorsque c'est possible.
^préfixe.*est beaucoup moins coûteux que.*milieu.*.
Si le motif est rejeté, essayez de le rendre plus ciblé : commencez par un préfixe fixe plus long et affinez à partir de là. Envisagez de réduire le nombre d'alternatives ou de les traiter dans des motifs séparés au lieu de tout combiner en un seul regex complexe.
Exemple :
Filtrage des adresses e-mail :
-
Ce modèle correspondra aux espaces et à tous les mots environnants avec potentiellement trop de résultats :
.*@.* -
Pour limiter les résultats à toutes les adresses e-mail :
[\w.+\-]+@[\w.+\-]+ -
Pour limiter les résultats aux e-mails .com uniquement :
[\w.+\-]+@[\w.+\-]\.com -
Pour limiter les résultats à ceux ayant un chiffre dans les adresses e-mail :
[\w.+\-]*\d+[\w.+\-]*@[\w.\-]+
-
cat|dog: Correspond à : “cat” et “dog” -
red|blue|green: Correspond à : “red”, “blue”, “green”
-
[A-Z]+: Correspond à une ou plusieurs lettres majuscules consécutives (une séquence). -
[A-Z]{2,}: Correspond à toute série de lettres majuscules (utile par exemple pour correspondre à des acronymes ou des chaînes écrites en lettres majuscules) -
[0-9]{4}: Correspond à des nombres à quatre chiffres, par exemple. "1999", "2003", "1876" (également trouvé dans une chaîne de plus de quatre chiffres ; pour limiter les résultats, l'option de mots de correspondance prévue pour l'avenir devrait être utilisée) -
[A-Za-z0-9]+: Correspond à toute chaîne alphanumérique (hello! → hello correspondrait, mais ! ne fait pas partie de [A-Za-z0-9] ; 100% → seul 100 correspondrait) -
([A-Za-z]+\d+|\d+[A-Za-z]+): Correspond strictement à une combinaison de chiffres et de lettres, par exemple “user123”, “Admin99”, “Win11”, “5g”, “1080p” -
[0-9]{2,4}-[A-Z]{2,3}: Correspond à des plaques d'immatriculation, par exemple. “12-XY”, “9999-ABC”
-
\+[0-9]{1,2}: Correspond à “+40”, “+1” -
\{version: [0-9]+\}: Correspond à “{version: 12}”, “{version: 13}” -
C:\\[A-Za-z]+: Correspond à “C:\Users”, C:\Documents, “C:\Desktop”
-
Par défaut, le filtrage regex sera mis en œuvre de manière insensible à la casse.
c.at: Correspond à : “chat”, “Chat”, “CHAT” et “coat”, “Coat”, “COAT” -
Le filtrage regex peut être combiné avec le filtre UI
Les groupes de capture regex sont reconnus et la requête complète est mise en surbrillance, par exemple s(e)g mettra en surbrillance "seg". Les groupes de capture peuvent être utilisés pour le remplacement, par exemple : “Nom : Bob” peut être recherché par Nom : (.*?) et remplacé en utilisant une référence arrière à Jméno : $1.” Les références arrière manquantes sont gérées gracieusement, c'est-à-dire que la requête Nom : (.*?) avec le remplacement Jméno : $1, Titre : $2 sera remplacée par Jméno : Bob, Titre : $2.
Exemples pour remplacer la référence arrière :
-
filtrer
(\d+),(\d+)et remplacer$1.$2pour normaliser les séparateurs décimaux (par exemple, de 5,6 ou 35,949 à 5.6 ou 35.949) -
filtrer
(\d+)\.(\d+)et remplacer$1,$2pour normaliser les séparateurs décimaux (par exemple, de 5.6 ou 35.949 à 5,6 ou 35,949) -
filtrer
(\d{4})-(\d{2})-(\d{2})et remplacer$3/$2/$1pour reformater la date (par exemple, de 2025-06-05 à 05/06/2025) -
filtrer
ID-(\d{3,})et remplacerTicket #$1pour extraire le numéro du ticket (par exemple, de à ) -
filtrer
(cat|dog)et remplacer$1-$1pour dupliquer le texte correspondant (par exemple, de cat à cat-cat et de dog à dog-dog) -
Groupe optionnel : filtrer
Bonjour(, (\w+))?et remplacerSalut $1pour transformer les salutations en remplaçant "Bonjour" avant les noms ou seul (par exemple, de à et de à )