Différences entre les versions de « Expression rationnelle »

De Wiki de Geonov
(Page créée avec « Les expressions rationnelles (ou souvent, mais à tord, "expressions régulières" en raison du terme anglais "regular expression") sont un langage informatique. Elles pe… »)
 
 
Ligne 6 : Ligne 6 :


Pour rechercher un caractère ASCII en expression rationnelle, il faut utiliser la syntaxe suivante :
Pour rechercher un caractère ASCII en expression rationnelle, il faut utiliser la syntaxe suivante :
<source lang="text" gutter="false" toolbar="false">\x + [code hexadécimal du caractère]</source>
<syntaxhighlight lang="text" gutter="false" toolbar="false">\x + [code hexadécimal du caractère]</syntaxhighlight>


Par exemple pour rechercher le caractère ETX (End of Text) dont le code hexadécimal est le 03 (cf. http://www.table-ascii.com), la syntaxe est :
Par exemple pour rechercher le caractère ETX (End of Text) dont le code hexadécimal est le 03 (cf. http://www.table-ascii.com), la syntaxe est :
<source lang="text" gutter="false" toolbar="false">\x03</source>
<syntaxhighlight lang="text" gutter="false" toolbar="false">\x03</syntaxhighlight>


= Groupes =
= Groupes =
Ligne 16 : Ligne 16 :


Il est ensuite possible de récupérer les groupes individuellement avec la commande :
Il est ensuite possible de récupérer les groupes individuellement avec la commande :
<source lang="text" gutter="false" toolbar="false">\ + [numéro du groupe]</source>
<syntaxhighlight lang="text" gutter="false" toolbar="false">\ + [numéro du groupe]</syntaxhighlight>


Par exemple, cette expression distingue les 5 premiers caractères, les 3 suivants, les 6 suivants et le reste :
Par exemple, cette expression distingue les 5 premiers caractères, les 3 suivants, les 6 suivants et le reste :
<source lang="text" gutter="false" toolbar="false">^(.{5})(.{3})(.{6})(.*)$</source>
<syntaxhighlight lang="text" gutter="false" toolbar="false">^(.{5})(.{3})(.{6})(.*)$</syntaxhighlight>
''\0'' renvoie tout le résultat, ''\1'' renvoie le premier groupe (les 5 premiers caractères) et ''\2'' renvoie le deuxième groupe (les 3 caractères du 2ème groupe).
''\0'' renvoie tout le résultat, ''\1'' renvoie le premier groupe (les 5 premiers caractères) et ''\2'' renvoie le deuxième groupe (les 3 caractères du 2ème groupe).



Version actuelle datée du 3 décembre 2020 à 13:59

Les expressions rationnelles (ou souvent, mais à tord, "expressions régulières" en raison du terme anglais "regular expression") sont un langage informatique.

Elles permettent la recherche de chaînes de caractères complexes au sein d'un texte.

1 Caractères ASCII

Pour rechercher un caractère ASCII en expression rationnelle, il faut utiliser la syntaxe suivante :

\x + [code hexadécimal du caractère]

Par exemple pour rechercher le caractère ETX (End of Text) dont le code hexadécimal est le 03 (cf. http://www.table-ascii.com), la syntaxe est :

\x03

2 Groupes

Les parenthèses permettent de créer des sous-groupes dans la recherche.

Il est ensuite possible de récupérer les groupes individuellement avec la commande :

\ + [numéro du groupe]

Par exemple, cette expression distingue les 5 premiers caractères, les 3 suivants, les 6 suivants et le reste :

^(.{5})(.{3})(.{6})(.*)$

\0 renvoie tout le résultat, \1 renvoie le premier groupe (les 5 premiers caractères) et \2 renvoie le deuxième groupe (les 3 caractères du 2ème groupe).

3 Tester ses expressions rationnelles en ligne

Le site http://rubular.com permet de tester ses expressions rationnelles en ligne à l'aide du langage Ruby.