La prise en charge des regex dans l'éditeur en ligne est limitée par l'implémentation du moteur Lucene Regex.
Pour utiliser des regex, activer dans les paramètres de 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. Activer dans les paramètres de filtre pour les rendre sensibles à la casse.
(garantissant la correspondance uniquement avec des mots complets et non des sous-chaînes au sein de mots plus longs) n'est pas disponible.
La requête ^abc$ fonctionnera comme prévu, c'est-à-dire en correspondant au segment entier, tandis que correspondra à la sous-chaîne abc dans n'importe quel texte.
Limitations
Le remplacement correct de requêtes partiellement formatées n'est pas pris en charge, par ex. la recherche de "Jméno: $1, Příjmení: $2." dans le texte "\{b\>First name<}: Bob, \{biu\>Last name\<biu\}: Dylan." sera remplacé par « {>Jméno: Bob, Příjmení: Dylan\<b\} »
Modèles non pris en charge
-
Ancre de limite de mot
\\butilisée pour la correspondance de mots exacts (fonctionne dans l'éditeur de bureau). -
\\\\[1-9]- Références arrière (\\1, \\2, etc.), par ex.(\\w+)\\s+\\1pour la correspondance de mots dupliqués comme « hello hello » -
\\(\\?=|\\(\\?!|\\(\\?<=|\\(\\?<!- Lookahead et lookbehind, par ex.cat(?=\\.jpg)pour la correspondance de « cat » uniquement dans « cat.jpg » -
\\(\\?:- Groupes sans capture, par ex. (?:Mr|Mrs|Ms)\\. \\w+,mais les groupes de capture(Mr|Mrs|Ms)\\. \\w+sont pris en charge et correspondent à des noms comme « Mrs. Smith », « Mr. Brown » -
\\(\\?#- Commentaires en ligne, par ex.\\d\{4\}-(?# year)\\d\{2\}-(?# month)\\d\{2\}(?# day)pour la correspondance de « 2025-06-25 » -
\\(\\?P<[^>]+>- Groupes de capture nommés, par ex. (?P<amount>\\d+)\\s?(?P<currency>USD|EUR)pour la correspondance de « 150 USD » et « 99 EUR »
Point (.) comme espace réservé pour tout caractère unique
-
c.at: Correspondance : « chat », « coat ». Ne correspond PAS à : « cat », « cheat » -
wa.ter: Correspondance : « waiter », « waster ». Ne correspond PAS à : « water » -
s.ip: Correspondance : « skip », « ship », « slip ». Ne correspond PAS à : « sip », « strip »
? - Zéro ou une occurrence
-
colou?r: Correspondance : « color », « colour » -
g?rain: Correspondance : « grain », « rain » -
books?: Correspondance : « book », « books »
.* - N'importe quel nombre de caractère (y compris aucun)
-
h.*y: Correspondance : « happy », « history », « honey » -
sa.*d: Correspondance : « sad », « sand », « satisfied » -
m.*ing: Correspondance : « morning », « meeting », « marketing »
.+ - Au moins un caractère doit apparaître
-
pa.+er: Correspondance : « paper », « painter » -
a.+ed: Correspondance : « asked », « accepted », « allowed »
* - Zéro occurrence ou plus
-
go*al: Correspondance : « goal », « goooooooal »
+ - Une ou plusieurs occurrences
-
no+: Correspondances : « no », « noooooo » -
$1+: Correspondances : « $1 », « $11 », « $111 »
Il est recommandé d'utiliser un motif aussi spécifique que possible car les motifs ouverts peuvent causer des problèmes de performance dans l'éditeur.
Important
L'éditeur dispose d'une limite intégrée sur la complexité d'un motif regex. Les motifs trop larges ou utilisant intensivement des caractères génériques peuvent échouer en tant que regex invalide. Pour éviter cela :
-
Gardez les motifs courts et spécifiques.
error-[0-9]\{3\}convient ;.*a.*b.*c.*d.*ne convient pas. -
Minimisez les caractères génériques. Chaque
.+ou.*multiplie la complexité interne. Privilégiez les classes de caractère comme[A-Z]+plutôt que.*lorsque cela est possible. -
Évitez les longues alternances avec répétition. Un motif comme
(word1|word2|...|word20){2,}peut dépasser rapidement la limite. Ceci est amplifié lorsque les alternatives incluent plusieurs mots ou de la ponctuation, ce qui ajoute à la complexité de la regex. -
Ancrez un côté lorsque cela est possible.
^prefix.*est bien moins coûteux que.*middle.*.
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 combiner tout dans une regex complexe.
Exemple :
Filtrage pour les adresses e-mail :
-
Ce motif trouvera une correspondance avec les 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 à la suite (une séquence). -
[A-Z]{2,}: Correspond à toute série de lettres majuscules (utile par ex. pour la correspondance d'acronymes ou de Strings écrits en lettres majuscules) -
[0-9]\{4\}: Correspond aux nombres à quatre chiffres, par ex. « 1999 », « 2003 », « 1876 » (également trouvé au sein d'une chaîne plus longue que quatre chiffres ; pour limiter les résultats, l'option de correspondance de mots prévue pour le futur devra ê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 ex. « user123 », « Admin99 », « Win11 », « 5g », « 1080p » -
[0-9]{2,4}-[A-Z]{2,3}: Correspond aux plaques d'immatriculation, par ex. « 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 par regex sera implémenté comme insensible à la casse.
c.at: Correspond à : « chat », « Chat », « CHAT » et « coat », « Coat », « COAT » -
Le filtrage par regex peut être combiné avec le filtre d'interface utilisateur
Les groupes de capture regex sont reconnus et la requête complète est mise en surbrillance, par ex. s(e)g mettra en surbrillance « seg ». Les groupes de capture peuvent être utilisés pour le Remplacer, par ex. « Name: Bob » peut être recherché par Name: (.*?) et remplacé en utilisant une référence arrière vers Jméno: $1 ». Les références arrière manquantes sont gérées correctement, c'est-à-dire que la requête Name: (.*?) avec le Remplacer Jméno: $1, Title: $2 sera remplacée par Jméno: Bob, Title: $2.
Exemples pour le Remplacer par référence arrière :
-
filtre
(\\d+),(\\d+)et Remplacer$1.$2pour normaliser les séparateurs décimaux (par ex. de 5,6 ou 35,949 à 5.6 ou 35.949) -
filtre
(\\d+)\\.(\\d+)et Remplacer$1,$2pour normaliser les séparateurs décimaux (par ex. de 5.6 ou 35.949 à 5,6 ou 35,949) -
filtre
(\\d\{4\})-(\\d\{2\})-(\\d\{2\})et Remplacer$3/$2/$1pour reformater la date (par ex. de 2025-06-05 à 05/06/2025) -
filtre
Identifiant-(\\d{3,})et RemplacerTicket #$1pour extraire le numéro du ticket (par ex. de à ) -
filtre
(cat|dog)et Remplacer$1-$1pour Dupliquer le texte correspondant (par ex. de cat à cat-cat et de dog à dog-dog) -
Groupe optionnel : filtre
Hello(, (\\w+))?et RemplacerHi $1pour transformer les salutations en remplaçant « Hello » avant les noms ou seul (par ex. de à et de à )