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