Syntaxe d'une expression régulière

L'éditeur de configuration d'adaptateur Hyades permet d'utiliser des expressions régulières pour décrire la transformation des fichiers journaux en enregistrements Common Base Event. Les tableaux ci-après regroupent les principes relatifs à la syntaxe d'une expression régulière.

Règles générales

Correspondance des expressions régulières

Expression Correspondances
{n,m} au moins n, mais pas plus de m fois
{n,} au moins n fois
{n} exactement n fois
* 0, 1 ou plusieurs fois
+ 1 ou plusieurs fois
? 0 ou 1 fois
. tout excepté \n dans une expression régulière entre parenthèses
^ sème nul correspondant au début d'une ligne (c'est-à-dire la position juste après une nouvelle ligne ou juste avant le début d'une chaîne) dans une expression régulière entre parenthèses
$ sème nul correspondant à la fin d'une ligne (c'est-à-dire la position juste avant une nouvelle ligne ou juste après la fin d'une chaîne) dans une expression régulière entre parenthèses
\b espacement arrière dans une classe de caractères ([abcd])
\b sème nul correspondant à une frontière de mot (\w d'un côté et \W de l'autre)
\B sème nul correspondant à une frontière différente d'une frontière de mot
\A uniquement au début d'une chaîne
\Z uniquement à la fin d'une chaîne (ou avant une nouvelle ligne à la fin)
\ nouvelle ligne
\r retour chariot
\t tabulation
\f changement de page
\d chiffre [0-9]
\D non décimal [^0-9]
\w caractère alphanumérique [0-9a-z_A-Z]
\W caractère non alphanumérique [^0-9a-z_A-Z]
\s caractère blanc [ \t\n\r\f]
\S caractère différent du caractère blanc [^ \t\n\r\f]
\xnn représentation hexadécimale du caractère nn
\cD caractère de commande correspondant
\nn ou \nnn représentation octale du caractère nn sauf s'il s'agit d'un renvoi
\1, \2, \3 ... quels que soient le premier, le deuxième, le troisième, etc. groupe entre parenthèses concordant. Il s'agit d'un renvoi. S'il n'existe aucun groupe correspondant, ce nombre est interprété comme la représentation octale d'un caractère.
\0 caractère nul. Tout autre caractère situé derrière une barre oblique inversée se correspond.
*? 0, 1 ou plusieurs fois
+? 1 ou plusieurs fois
?? 0 ou 1 fois
{n}? exactement n fois
{n,}? au moins n fois
{n,m}? au moins n, mais pas plus de m fois

Regroupement et extraction des correspondances

Pour regrouper des parties d'une expression, utilisez les métacaractères ( ). Cela permet à l'expression régulière entre parenthèses d'être traitée comme une seule unité. Par exemple, l'expression régulière

severity:(1|2)
correspond au motif severity:1 ou severity:2.

Pour extraire des parties de chaîne qui ont trouvé une correspondance grâce aux métacaractères de regroupement, utilisez les variables spéciales $1, $2, etc.

# Extraire le nom et l'URL de $pattern = <a href="secure_logon.html">formulaire Connexion</a>
$pattern =~ <a href=\"(.*)\">(.*)</a> ; # correspondance grâce au regroupement
$url = $1;                # $1 est égal à secure_logon.html
$pagename = $2;           # $2 est égal à formulaire Connexion

Expressions régulières étendues Perl 5

Expression Correspondances
(?#text) Commentaire imbriqué indiquant d'ignorer text.
(?:regexp) Regroupe les éléments de type "()" mais ne sauvegarde pas la correspondance du groupe.
(?=regexp) Assertion d'anticipation positive de longueur zéro. Par exemple, \w+(?=\s) correspond à un mot suivi d'un caractère blanc, sans inclure de caractère blanc dans le résultat.
(?!regexp) Assertion d'anticipation négative de longueur zéro. Par exemple, foo(?!bar) correspond à toute occurrence de foo qui n'est pas suivie de bar. Il s'agit d'une assertion de longueur zéro, ce qui signifie que a(?!b)d correspond à ad car a est suivi d'un caractère différent de b (le d) et d suit l'assertion de longueur zéro.
(?imsx) Un ou plusieurs modificateurs de correspondance de motif imbriqués :
i désactive le respect de la distinction majuscules-minuscules
m
active le traitement multiligne de l'entrée
s
active le traitement de ligne simple de l'entrée
x
active les commentaires à caractères blancs étendus

Concepts connexes
Présentation de l'adaptateur de journal générique Hyades
Spécification du format Common Base Event

Tâches connexes
Création d'un programme d'analyse syntaxique de journaux
Création d'un adaptateur fondé sur des règles
Création d'un adaptateur statique

Références associées
Structure du fichier de configuration d'adaptateur
Spécification du format Common Base Event
Editeur de configuration d'adaptateur
Syntaxe d'une expression régulière