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. | |
| 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