Reguliere expressies in de Hernoemer-plugin
De Hernoemer-plugin gebruikt krachtigere reguliere expressies dan Zoeken en de interne viewer van Sally. De plugin breidt de REGEXP-bibliotheek van Henry Spencer uit. Lees eerst Syntaxis van reguliere expressies in Sally en daarna de beschrijving van de uitbreidingen van Hernoemer. Deze zijn geïnspireerd op Perl.
Uitgebreide syntaxis
- '*?' - niet-gretige variant van '*' (0 of meer overeenkomsten)
- '+?' - niet-gretige variant van '+' (1 of meer overeenkomsten)
- '??' - niet-gretige variant van '?' (0 of 1 overeenkomst)
- '$' - komt aan het einde van de expressie overeen met het einde van een regel, of met de positie vóór een afsluitend regeleindeteken
- '( )' - voegt de expressies tussen haakjes samen tot één expressie en legt de gevonden deeltekenreeks vast (zie dit voorbeeld voor de werking)
- '(?: )' - werkt als "( )", maar legt de gevonden deeltekenreeks niet vast
Niet-gretig betekent dat zo weinig mogelijk overeenkomsten worden gezocht.
Asserties zonder tekenbreedte
U kunt de volgende asserties zonder tekenbreedte gebruiken. Ze komen niet overeen met een teken, maar controleren of een voorwaarde waar of onwaar is:
| Assertie | Betekenis |
|---|---|
| \b | Komt overeen met een woordgrens. |
| \B | Komt overeen met een positie die geen woordgrens is. |
| \A | Komt alleen overeen met het begin van de tekenreeks. |
| \Z | Komt alleen overeen met het einde van de tekenreeks of de positie vóór een afsluitend regeleindeteken. |
| \z | Komt alleen overeen met het einde van de tekenreeks. |
| (?= ) | Positieve vooruitblikassertie (bijvoorbeeld 'j(?=ohn)' vindt 'j' in 'john', maar niet in 'june'). |
| (?! ) | Negatieve vooruitblikassertie (bijvoorbeeld 'j(?!ohn)' vindt 'j' in 'june', maar niet in 'john'). |
| (?<= ) | Positieve terugblikassertie (bijvoorbeeld '(?<=joh)n' vindt 'n' in 'john', maar niet in 'joan'). |
| (?<! ) | Negatieve terugblikassertie (bijvoorbeeld '(?<!joh)n' vindt 'n' in 'joan', maar niet in 'john'). |
Binnen tekenklassen betekent "\b" een backspace in plaats van een woordgrens.
POSIX-tekenklassen
U kunt de volgende POSIX-tekenklassen gebruiken:
| Klasse | Equivalent met backslash | Betekenis |
|---|---|---|
| alpha | Letters. | |
| alnum | Letters en cijfers. | |
| ascii | ASCII-tekens. | |
| cntrl | Besturingstekens. | |
| digit | \d | Decimale cijfers. |
| graph | Afdrukbare en zichtbare tekens. Een spatie is afdrukbaar, maar niet zichtbaar. | |
| lower | Kleine letters. | |
| Afdrukbare tekens: alle tekens die geen besturingsteken zijn. | ||
| punct | Leestekens: tekens die geen letter, cijfer, besturingsteken of witruimteteken zijn. | |
| space | \s | Witruimtetekens, zoals spatie, TAB en formfeed. |
| upper | Hoofdletters. | |
| word | \w | Letters, cijfers en het onderstrepingsteken ("_"). |
| xdigit | Hexadecimale cijfers. |
U kunt een tekenklasse ontkennen door een ^ vóór de klassenaam te zetten.
Gebruik: [[:alpha:]] (letters), [01[:alpha:]%] (letters plus 0, 1 en %), [[:^digit:]] (alle tekens behalve decimale cijfers).
Verkorte notaties van enkele tekenklassen
U kunt de volgende verkorte notaties gebruiken:
| Klasse | Betekenis |
|---|---|
| \w | Letters, cijfers en het onderstrepingsteken ("_"). |
| \W | Alle tekens behalve letters, cijfers en het onderstrepingsteken ("_"). |
| \s | Witruimtetekens, zoals spatie, TAB en formfeed. |
| \S | Alle tekens behalve witruimtetekens, zoals spatie, TAB en formfeed. |
| \d | Decimale cijfers. |
| \D | Alle tekens behalve decimale cijfers. |
Speciale tekens
U kunt de volgende speciale tekens gebruiken:
| Speciaal teken | Betekenis |
|---|---|
| \t | tabteken |
| \n | nieuwe regel |
| \r | carriage return |
| \f | pagina-einde |
| \a | geluidssignaal (bel) |
| \b | backspace |
| \x5A | het teken 'Z' met tekenwaarde 0x5A (hexadecimaal) |
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