Table of Contents   MOBOTIX Online Help

Expressions régulières

Cette page constitue une courte introduction aux expressions régulières et ne se veut en aucun cas exhaustive. Le livre Maîtrise des expressions régulières de Jeffrey E.F. Friedl, publié par O'REILLY, constitue pour sa part une introduction détaillée.

Les expressions régulières sont des modèles de recherche à l'aide desquels des chaînes de caractères peuvent être contrôlées. Vous pouvez par exemple vérifier le texte de message d'un message réseau ou les données d'une interface en série avec une expression régulière. Une expression régulière est constituée d'un ou plusieurs caractères devant être recherchés, et est complétée par des caractères génériques exécutant des fonctions particulières.

Exemple :

Une unité envoie des données via une interface en série :

[...]
2003-09-22 12:24:50 roboctrl ready
2003-09-22 12:24:51 roboctrl starting process
2003-09-22 12:25:25 roboctrl finished in 34sec
2003-09-22 12:25:30 roboctrl ready
2003-09-22 12:25:31 roboctrl starting process
2003-09-22 12:25:33 error: no material found
2003-09-22 12:25:33 roboctrl stop on error

L'expression régulière stop.*error permet de déclencher un événement lorsqu'une unité signale une erreur, comme dans cet exemple à la dernière ligne.


Caractères génériques

Si vous souhaitez rechercher un des signes de la colonne de gauche du tableau suivant ou la barre oblique inversée "\" ainsi que le tiret "-", placez une barre oblique "\" avant (masquer).

Caractère Fonction
^ L'accent circonflexe signale le début d'une chaîne de caractères. L'expression ^Test n'est valable que si la chaîne de caractères à vérifier commence par Test.
$ Le signe Dollar signale la fin d'une chaîne de caractères. L'expression Test$ n'est valable que si la chaîne de caractères à vérifier se termine par Test.
.

Le point est un caractère de remplacement pour n'importe quel signe. L'expression ab.d est valable pour abcd ou abad, mais pas pour abccd.

Si vous recherchez le caractère ".", vous devez le faire précéder du signe "\". L'expression ab\.d n'est valable que pour ab.d.

* L'astérisque (étoile) est un opérateur de répétition et signifie que le signe qui le précède apparaît 0, 1 ou n fois. L'expression ab*c permet de rechercher abc, abbbbbc mais également ac.
+ Le signe plus est également un opérateur de répétition et signifie que le signe le précédant apparaît 1 ou n fois. L'expression ab+c permet de rechercher abc, abbbbbc, mais pas ac.
? Le point d'interrogation signifie que le signe le précédant apparaît 0 ou 1 fois. L'expression ab?c permet de chercher abc et ac mais pas abbc.
[ ]

Les expressions entre crochets signalent une classe de caractères.

Une classe de caractères peut être définie en tant que liste ou domaine. L'expression [abc] définie une liste de caractères, [a-m] un domaine.

[0-9] permet de rechercher tous les chiffres et [a-z] toutes les minuscules. Vous pouvez utiliser plusieurs domaines au sein d'une même classe de caractères, comme dans [0-9a-zA-Z] ou mélanger des listes et des domaines : [afm0-6].

Une classe de caractères peut être "niée". Pour ce faire, placez un accent circonflexe devant. L'expression [^ab] s'applique lorsque le caractère n'est pas un a ou un b.

cn, de, en, es, fr, it, jp, ru

© 2001-2017 MOBOTIX AG, Germany · http://www.mobotix.com/