Regulárne výrazy v plugine Hromadné premenovanie

Plugin Hromadné premenovanie používa výkonnejšie regulárne výrazy než Hľadanie a Interný prehliadač v Sally. Rozširuje knižnicu REGEXP, skvelé dielo Henryho Spencera. Najprv si prečítajte Syntax regulárnych výrazov v Sally a potom pokračujte opisom rozšírení pluginu Hromadné premenovanie. Tieto rozšírenia boli inšpirované jazykom Perl.

Rozšírená syntax

  • '*?' – nenásytná verzia '*' (zhoda 0 alebo viackrát)
  • '+?' – nenásytná verzia '+' (zhoda 1 alebo viackrát)
  • '??' – nenásytná verzia '?' (zhoda 0 alebo 1-krát)
  • '$' – na konci výrazu zodpovedá koncu riadka (alebo pozícii pred znakom nového riadka na konci)
  • '( )' – spojí výrazy v zátvorkách do jedného výrazu a zachytí zhodný podreťazec (pozrite si tento príklad, aby ste pochopili fungovanie)
  • '(?: )' – funguje ako "( )", ale nezachytáva zhodný podreťazec

Poznámka: „Nenásytná“ znamená, že hľadá najmenší možný počet opakovaní.

Podmienky s nulovou šírkou

Môžete použiť nasledujúce podmienky s nulovou šírkou (nezodpovedajú žiadnemu znaku, len testujú, či je podmienka pravdivá alebo nepravdivá):

Podmienka Význam
\b Zodpovedá hranici slova.
\B Zodpovedá pozícii, ktorá nie je hranicou slova.
\A Zodpovedá len začiatku reťazca.
\Z Zodpovedá len koncu reťazca alebo pozícii pred znakom nového riadka na konci.
\z Zodpovedá len koncu reťazca.
(?= ) Pozitívna podmienka dopredného náhľadu (napríklad 'j(?=ohn)' zodpovedá 'j' v slove 'john', ale nie v slove 'june').
(?! ) Negatívna podmienka dopredného náhľadu (napríklad 'j(?!ohn)' zodpovedá 'j' v slove 'june', ale nie v slove 'john').
(?<= ) Pozitívna podmienka spätného náhľadu (napríklad '(?<=joh)n' zodpovedá 'n' v slove 'john', ale nie v slove 'joan').
(?<! ) Negatívna podmienka spätného náhľadu (napríklad '(?<!joh)n' zodpovedá 'n' v slove 'joan', ale nie v slove 'john').

V znakových triedach predstavuje "\b" znak backspace namiesto hranice slova.

Znakové triedy POSIX

Môžete použiť nasledujúce znakové triedy POSIX:

Trieda Ekvivalent so spätnou lomkou Význam
alpha Písmená.
alnum Písmená a číslice.
ascii Znaky ASCII.
cntrl Riadiace znaky.
digit \d Desiatkové číslice.
graph Znaky, ktoré sú tlačiteľné aj viditeľné (medzera je tlačiteľná, ale nie viditeľná).
lower Malé písmená.
print Tlačiteľné znaky (znaky, ktoré nie sú riadiace).
punct Interpunkčné znaky (znaky, ktoré nie sú písmená, číslice, riadiace ani biele znaky).
space \s Biele znaky (napr. medzera, TAB, posun strany).
upper Veľké písmená.
word \w Písmená a číslice spolu s podčiarkovníkom ("_").
xdigit Znaky, ktoré sú šestnástkovými číslicami.

Znakové triedy môžete negovať vložením '^' pred názov triedy.

Použitie: [[:alpha:]] (písmená), [01[:alpha:]%] (písmená spolu s 0, 1 a %), [[:^digit:]] (všetky znaky okrem desiatkových číslic).

Skrátené tvary niektorých znakových tried

Môžete použiť nasledujúce skrátené tvary znakových tried:

Trieda Význam
\w Písmená a číslice spolu s podčiarkovníkom ("_").
\W Všetky znaky okrem písmen, číslic a podčiarkovníka ("_").
\s Biele znaky (napr. medzera, TAB, posun strany).
\S Všetky znaky okrem bielych znakov (napr. medzera, TAB, posun strany).
\d Desiatkové číslice.
\D Všetky znaky okrem desiatkových číslic.

Špeciálne znaky

Môžete použiť nasledujúce špeciálne znaky:

Špeciálny znak Význam
\t tabulátor
\n nový riadok
\r návrat vozíka
\f posun strany
\a zvukový signál (zvonček)
\b spätný krok
\x5A znak 'Z' s kódom 0x5A (šestnástková hodnota)

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