Expressions régulières dans Renamer

Renamer utilise des expressions régulières plus puissantes que la recherche et la visionneuse interne de Sally. Il étend la bibliothèque REGEXP, remarquable travail de Henry Spencer. Lisez d’abord la syntaxe des expressions régulières de Sally, puis les extensions de Renamer, inspirées de Perl.

Syntaxe étendue

  • '*?' — variante non gourmande de '*' (zéro occurrence ou plus)
  • '+?' — variante non gourmande de '+' (une occurrence ou plus)
  • '??' — variante non gourmande de '?' (zéro ou une occurrence)
  • '$' — en fin d’expression, correspond à la fin de ligne ou avant le saut de ligne final
  • '( )' — regroupe les expressions entre parenthèses en une seule et capture la sous-chaîne correspondante ; voir cet exemple
  • '(?: )' — comme « ( ) », sans capturer la sous-chaîne

« Non gourmand » signifie que le nombre minimal d’occurrences est recherché.

Assertions de largeur nulle

Ces assertions ne consomment aucun caractère, mais testent si une condition est vraie ou fausse :

Assertion Signification
\b Correspond à une limite de mot.
\B Correspond à une position qui n’est pas une limite de mot.
\A Correspond uniquement au début de la chaîne.
\Z Correspond uniquement à la fin de la chaîne ou avant le saut de ligne final.
\z Correspond uniquement à la fin de la chaîne.
(?= ) Assertion positive en avant : 'j(?=ohn)' correspond au 'j' de 'john', mais pas de 'june'.
(?! ) Assertion négative en avant : 'j(?!ohn)' correspond au 'j' de 'june', mais pas de 'john'.
(?<= ) Assertion positive en arrière : '(?<=joh)n' correspond au 'n' de 'john', mais pas de 'joan'.
(?<! ) Assertion négative en arrière : '(?<!joh)n' correspond au 'n' de 'joan', mais pas de 'john'.

Dans une classe de caractères, « \b » désigne un retour arrière plutôt qu’une limite de mot.

Classes de caractères POSIX

Les classes POSIX suivantes sont disponibles :

Classe Équivalent avec barre oblique inverse Signification
alpha Caractères alphabétiques.
alnum Caractères alphanumériques.
ascii Caractères ASCII.
cntrl Caractères de contrôle.
digit \d Chiffres décimaux.
graph Caractères imprimables et visibles ; l’espace est imprimable mais invisible.
lower Lettres minuscules.
print Caractères imprimables, autres que les caractères de contrôle.
punct Ponctuation : caractères autres que lettres, chiffres, contrôles et espaces.
space \s Espaces blancs, comme espace, TAB et saut de page.
upper Lettres majuscules.
word \w Caractères alphanumériques et trait de soulignement « _ ».
xdigit Chiffres hexadécimaux.

Préfixez le nom d’une classe par « ^ » pour la nier.

Utilisation : [[:alpha:]] pour les lettres ; [01[:alpha:]%] pour les lettres, 0, 1 et % ; [[:^digit:]] pour tout sauf les chiffres décimaux.

Formes courtes de certaines classes

Les formes courtes suivantes sont disponibles :

Classe Signification
\w Caractères alphanumériques et trait de soulignement « _ ».
\W Tout sauf caractères alphanumériques et trait de soulignement « _ ».
\s Espaces blancs, comme espace, TAB et saut de page.
\S Tout sauf les espaces blancs, comme espace, TAB et saut de page.
\d Chiffres décimaux.
\D Tout sauf les chiffres décimaux.

Caractères spéciaux

Les caractères spéciaux suivants sont disponibles :

Caractère spécial Signification
\t tabulation
\n saut de ligne
\r retour chariot
\f saut de page
\a alarme sonore
\b retour arrière
\x5A caractère 'Z' de code 0x5A, en hexadécimal

From the Sally manual (GPL-2.0-or-later), © 1997-2023 Open Salamander Authors; © 2025-2026 Elias Bachaalany. Source: manual source (zip) · original page in the Sally repository