Dans le Générateur de chaînes, vous pouvez utiliser des opérateurs d’expression régulière (regex) pour correspondre à des caractères de chaînes de texte, par exemple pour définir des modèles :
- Mappage de règles de transformation pour un pipeline de connecteur Préparation de données
- Commandes Rechercher, Rechercher et remplacer et Fractionner le fichier du connecteur Utilitaires de fichiers
- Commandes Filtre de colonne, Filtre de lignes, Rechercher et remplacer, Joindre les colonnes, et Filtre intelligent de lignes du connecteur Transformation tabulaire
Opérateurs courants
Pour définir les modèles à faire correspondre, vous pouvez utiliser ces opérateurs courants :
| Opérateur | Description | Exemple | Retours |
|---|---|---|---|
^ |
Correspond au début d’une chaîne | ^abc |
abc, abcdef..., abc123 |
$ |
Correspond à la fin d’une chaîne | abc$ |
mon:abc, 123abc, leabc |
. |
Correspond à n’importe quel caractère en tant que caractère générique | a.c |
abc, asc, a123c |
| |
Un caractère OR | abc|xyz |
abc ou xyz |
(...) |
Capture les valeurs entre parenthèses | (a)b(c) |
a et c |
[...] |
Correspond à tout ce qui se trouve entre les crochets | [abc] |
a, b ou c |
[a-z] |
Correspond aux caractères minuscules compris entre a et z | [b-z] |
bc, esprit, xyz |
[0-9] |
Correspond à toutes les valeurs numériques comprises entre 0 et 9 | [0-3] |
3201 |
{x} |
Le nombre exact de répétitions | (abc){2} |
abcabc |
{x,} |
Le nombre minimum de répétitions | (abc){2,} |
abcabcabc |
* |
Correspond à tout ce qui se trouve à la place de l’astérisque, ou correspondance « gourmande » | ab*c |
abc, abbcc, abcdc |
+ |
Correspond au caractère précédant le + répété une ou plusieurs fois | a+c |
ac, aac, aaac |
? |
Correspond au caractère précédant le ? zéro ou une fois, ou correspondance « non gourmande » | ab?c |
ac, abc |
/ |
Échappe le caractère après le / ou crée une séquence d’échappement | a/bc |
a c, l’espace correspondant à /b |
Pour utiliser le caractère littéral d’un opérateur dans un modèle, et non comme regex :
- Faites suivre un accent circonflexe (
^), un point (.), un crochet ouvrant ([), un symbole dollar ($), une parenthèse ouvrante ou fermante (() ou ()), une barre verticale (|), un astérisque (*), un symbole plus (+), un point d’interrogation (?), accolade ouvrante ({) ou une barre oblique inverse (\) de l’opérateur d’échappement (\). - Faites d’un crochet fermant (
]) ou d’une accolade fermante (}) le premier caractère, avec ou sans^d’ouverture. - Faites d’un tiret (
-) le premier ou le dernier caractère, ou le deuxième point de terminaison d’une plage.
Conseil : Tous les caractères entre crochets sont pris au pied de la lettre et ne sont pas des opérateurs d’expression régulière. Par exemple, [*\+?{}.] correspond à n’importe quel caractère littéral entre crochets.
Correspond au début ou à la fin d’une chaîne (^ et $)
Pour faire correspondre des modèles au début ou à la fin de la chaîne, utilisez les opérateurs ^ et $ , respectivement. Par exemple :
| Exemple | Correspondances |
|---|---|
^Le |
Toute chaîne de caractères commençant par Le |
de désespoir$ |
Toute chaîne se terminant par de désespoir |
^abc$ |
Une chaîne qui commence et se termine par abc, une correspondance exacte |
Conseil : Si l’on n’utilise ni ^ ni $, le modèle correspond à toute chaîne qui contient les caractères spécifiés. Par exemple, avis (sans ^ ni $) renvoie toute chaîne contenant avis.
Correspond à des caractères (*, + et ?)
Pour faire correspondre des modèles basés sur un caractère spécifique, faites suivre ce caractère de l’opérateur *, + ou ?. Ces opérateurs indiquent le nombre de fois que le caractère doit apparaître pour une correspondance (zéro ou plus, un ou plus, ou un ou zéro), respectivement. Par exemple :
| Exemple | Correspondances |
|---|---|
ab* |
Une chaîne qui contient a, suivi de zéro ou plusieurs b (ac, abc ou abbc) |
ab+ |
Une chaîne qui contient a, suivi d’un ou plusieurs b (abc ou abbc, mais pas ac) |
ab? |
Une chaîne qui contient a, suivi de zéro ou un b (ac ou abc, mais pas abc) |
a?b+$ |
Une chaîne qui se termine par un ou plusieurs bs, avec ou sans a ; par exemple, ab, abb, b ou bb, mais pas aab ou aabb |
Correspond à la fréquence des caractères ({...} ou (...))
Pour faire correspondre un modèle en fonction de la fréquence d’apparition d’un seul caractère, faites-le suivre du nombre ou de la plage d’occurrences, entre accolades ({...}). Par exemple :
| Exemple | Correspondances |
|---|---|
ab{2} |
Une chaîne qui contient a, suivie d’exactement 2 b (abb) |
ab{2,} |
Une chaîne qui contient a, suivi d’au moins 2 b (abb, abbbb, etc.) |
ab{3,5} |
Une chaîne qui contient a, suivi de trois à cinq b (abbb, abbbb ou abbbbb) |
Conseil : Indiquez toujours le premier chiffre d’une plage ({0,2}, et non {,2}). Au lieu des plages {0,}, {1,} ou {0,1}, vous pouvez utiliser les opérateurs *, + ou ?, respectivement.
Pour faire correspondre un modèle en fonction de la fréquence d’apparition d’une séquence de caractères, mettez-la entre parenthèses ((...)). Par exemple, a(bc){1,5} correspond à une chaîne contenant a, suivie d’une à cinq occurrences de bc.
Correspond à un ou plusieurs modèles (|)
Pour faire correspondre un modèle à plusieurs autres (par exemple ceci OR cela) utilisez l’opérateur OR |. Par exemple :
| Exemple | Correspondances |
|---|---|
salut|bonjour |
Une chaîne qui contient soit salut ou bonjour |
(b|cd)ef |
Une chaîne qui contient soit bef ou cdef |
(a|b)*c |
Une chaîne qui a une séquence de a et b alternés, se terminant par c |
Correspond à n’importe quel caractère (.)
Pour représenter n’importe quel caractère d’un modèle, utilisez l’opérateur de remplacement .. Par exemple :
| Exemple | Correspondances |
|---|---|
a.[0-9] |
Une chaîne qui contient a, suivie d’un caractère quelconque et d’un chiffre |
^.{3}$ |
Toute chaîne de trois caractères exactement |
Correspond à la position du caractère ([...])
Pour faire correspondre un modèle en fonction de la position d’un caractère, utilisez des crochets ([...]). Par exemple :
| Exemple | Correspondances |
|---|---|
[ab] |
Une chaîne qui contient soit a soit b ; équivalent à a|b |
[a-d] |
Une chaîne contenant une minuscule |
^[a-zA-Z] |
Une chaîne qui commence par n’importe quelle lettre, quelle que soit la casse |
[0-9]% |
Une chaîne de caractères contenant un chiffre suivi d’un signe de pourcentage |
,[a-zA-Z0-9]$ |
Une chaîne qui se termine par une virgule suivie d’un caractère quelconque |
Note : tous les caractères entre crochets sont pris au pied de la lettre, et non comme opérateurs d’expression régulière. Par exemple, [*\+?{}.] correspond à n’importe quel caractère littéral entre crochets.
Correspond à des caractères non désirés ([^...])
Pour faire correspondre un modèle qui ne contient pas de caractères, commencez la séquence par un opérateur ^ et mettez-la entre crochets. Par exemple, %[^a-zA-z]% correspond à une chaîne contenant tout caractère non alphabétique compris entre deux signes de pourcentage.