Expressions régulières

Guide utilisateur de Talend Data Preparation

author
Talend Documentation Team
EnrichVersion
6.4
2.1
EnrichProdName
Talend MDM Platform
Talend Real-Time Big Data Platform
Talend Data Services Platform
Talend Big Data
Talend Data Management Platform
Talend Data Fabric
Talend ESB
Talend Data Integration
Talend Big Data Platform
task
Qualité et préparation de données > Nettoyage de données
EnrichPlatform
Talend Data Preparation

Les expressions régulières (ou regex) sont des chaînes de recherche avancée qui vous permettent de mettre en correspondance des modèles complexes.

Dans cette documentation, les éléments des expressions régulières sont classés par catégorie.

Tous les exemples listés se basent sur les deux lignes suivantes :

Comment from happy_user@company.com (04-Apr-2016):

I love working with Talend Data Preparation! It really helps me with all my daily tasks!

Exemples d'expressions régulières

Expression régulière

Correspond à

\bTa

Talend

\bw\w*

working, with

\w+n\b

Preparation

Talend\s\w+\s\w+

Talend Data Preparation

task(s?)

tasks (correspondrait également à "task")

\w+@\w+.com

happy_user@company.com

\d{2}-.*-\d+

04-Apr-2016

Ancres

Caractères

Correspond à

Exemple

^

Début de chaîne ou début de ligne dans un modèle à plusieurs lignes

^Comment correspond à "Comment" en début de ligne.

^C.* correspond à la première ligne.

$

Fin de caractère ou fin de ligne dans un modèle à plusieurs lignes

!$ correspond au dernier point d'exclamation.

\b

Limit de mot

\bwo correspond à "wo" dans "working".

\bwo\w+ correspond à "working".

ng\b correspond à "ng" dans "working".

\w+ng\b correspond à "working".

\B

Pas de limite de mot

\Bh correspond au dernier "h" dans "with" mais pas au "h" dans "helps" ou "happy".

h\B correspond au premier "h" dans "helps" et "happy" mais pas au dernier dans "with".

Classes des caractères

Caractère

Correspond à

Exemple

.

Tout caractère, excepté celui de nouvelle ligne (\n)

. correspond à tous les caractères dans le texte, à part le retour à la ligne.

\s

Espace blanc

Talend\sData correspond à "Talend Data".

Data\s+Preparation correspond à "Data Preparation".

\S

Pas d'espace blanc

\S correspond à tous les caractères dans la phrase, à part les espaces.

\d

Chiffre

\d{4} correspond à "2016".

\D

Pas de chiffre

\D correspond à tous les caractères dans le texte mais pas aux nombres.

\w

Caractère de mot et tiret bas

T\w+ correspond à "Talend".

\W

Pas de caractère de mot

company\Wcom correspond à "company.com".

\n

Nouvelle ligne

.*\n.* correspond au texte entier.

Caractères d'échappement

Caractère

Correspond à

\.

.

\\

\

\+

+

\*

*

\?

?

\$

$

\[

[

\]

]

\{

{

\}

}

\(

(

\)

)

\|

|

\/

/

Groupes et intervalles

Caractère

Correspond à

Exemple

()

Groupe

m(e|y) correspond à "me" et "my".

(a|b)

a ou b

m(e|y) correspond à "me" (dans "Comment"), "me" et "my".

[abc]

Intervalle (a ou b ou c)

m[ey] correspond à "me" (dans "Comment"), "me" et "my".

[a-q]

Lettre de a à q

m[a-m] correspond à "me" (dans "Comment") et "me" mais pas à "my".

[0-7]

Chiffre de 0 à 7

201[0-5] ne correspond pas à "2016" mais peut correspondre à toutes les années entre "2010" et "2015".

L'expression capturée dans un groupe peut être réutilisée à l'aide du symbole $. Quand plus d'un groupe est capturé, ajoutez un nombre au symbole $, pour qu'il corresponde à l'ordre dans lequel ils ont été capturés.

Par exemple, vous souhaitez reformuler l'expression Y16Q02 pouvant être rapprochée de l'expression régulière Y(\d{2})Q(\d{2}). Vous pouvez reformuler votre expression originale en conservant uniquement les caractères capturés. Si vous souhaitez que votre nouvelle expression soit Quarter 02 of year 2016, la nouvelle expression régulière Quarter $2 of year 20$1 va y correspondre.

Quantificateurs

Caractères

Correspond à

Exemples

*

0 ou plusieurs fois

work\w* correspond à "working", à "work" et à "works".

+

1 ou plusieurs fois

work\w+ correspond à "working" mais aussi à "works". Cependant, il ne correspond à "work".

?

0 ou 1 fois

work(s?) correspond à "work" et "works" mais pas à "working".

{3}

Exactement 3 fois

20\d{2} correspond à "2016" et aux autres nombres entre "2000" et "2099".

{3,}

3 fois ou plus

20\d{2,} correspond à "2016" et à tous les nombres supérieurs ou égaux à "2000" commençant par "20".

{3,5}

3, 4 ou 5 fois

20{1,2} correspond à "2016" et à tous les nombres de "200" à "2099".

[0-7]

chiffre de 0 à 7

201[0-9] correspond à "2016" et à tous les nombres de "2010" à "2019".