Archív Inet.sk Pôvodný autor: Július Pastierik
22. 12. 2005 o 00:00 4699x

Makrá v OpenOffice.org X. – regulárne výrazy

Ako sme naznačili v minulom dieli nášho seriálu o programovaní makier v OpenOffice.org, mnoho zaujímavých výsledkov pri rôznych náhradách môžeme dosiahnuť pomocou regulárnych výrazov. Preto si v ich v dnešnom dieli nášho seriálu trochu viac priblížime.
Makrá v OpenOffice.org X. – regulárne výrazy

Pri programovaní makra pre vymazávanie viacnásobných medzier sme postupne prešli viacerými fázami – od jednoduchej výmeny, ktorú sme však museli manuálne viackrát opakovať cez výmeny pomocou cyklov až po výmenu pomocou regulárnych výrazov. A práve regulárne výrazy môžu našu prácu mnohokrát veľmi uľahčiť a časovo skrátiť (a to, pravdaže, nielen pri programovaní). Už teraz môžeme naznačiť, že napríklad pri programovaní známeho makra „Vlnka“ pre vkladanie nezalomiteľných medzier za predložky bude mať použitie regulárnych výrazov naozaj veľmi zaujímavý časový efekt, pretože aj to dokážeme nakoniec naprogramovať na jeden prechod cez dokument – k tomu sa však dostaneme (podobne ako pri vymazávaní viacnásobných medzier) až neskôr v niektorých z ďalších dielov tohto seriálu.

Ako sme už spomínali, regulárne výrazy umožňujú vyhľadávanie pomocou zástupných znakov. Tieto výrazy obsahujú, pravdaže, aj bežné znaky tak, ako pri obyčajnom hľadaní, ibaže niektoré znaky (či celé postupnosti znakov) majú špecifický – zástupný význam. Pozrime sa teda bližšie práve na tieto špecifiká.

. – bodka predstavuje akýkoľvek jeden znak okrem konca riadku (odriadkovanie) a konca odstavca. Napríklad pomocou regulárneho výrazu " . " vyhľadáme všetky jednoznakové reťazce (predložky, pomlčky a pod.).

^ – pomocou striešky nájdeme hľadaný reťazec (ktorý je uvedený za ňou) iba vtedy, ak sa nachádza na začiatku odstavca. Napríklad pomocou regulárneho výrazu "^ " dokážeme nájsť všetky jednoduché medzery na začiatku odstavca.

$ – pomocou doláru nájde hľadaný reťazec (ktorý je uvedený pred ním) iba vtedy, ak sa nachádza na konci odstavca. Napríklad pomocou regulárneho výrazu " $" dokážeme nájsť všetky jednoduché medzery na konci odstavca.

^$ – touto postupnosťou hľadáme „prázdny“ reťazec, ktorý je zároveň na začiatku aj na konci odstavca – teda prázdny odstavec.

^. – touto postupnosťou vyhľadáme prvý znak odstavca.

* – pomocou hviezdičky nájdeme žiadny alebo viacnásobný výskyt znaku, ktorý je uvedený pred ňou. Napríklad pomocou regulárneho výrazu "^ *" (použili sme ho v minulom dieli nášho seriálu) dokážeme nájsť všetky 0 až n-násobné medzery na začiatku odstavca.

+ – pomocou znaku plus nájdeme jednonásobný alebo viacnásobný výskyt znaku, ktorý je uvedený pred týmto znamienkom. Napríklad pomocou regulárneho výrazu "^ +" dokážeme nájsť všetky jednoduché a viacnásobné medzery na začiatku odstavca.

? – pomocou otáznika nájdeme žiadny alebo práve jeden výskyt znaku, , ktorý je uvedený pred ním. Napríklad pomocou regulárneho výrazu "  ?" dokážeme nájsť naraz všetky jednoduché a dvojnásobné medzery.

\ – znak, ktorý sa nachádza za opačným lomítkom sa nepovažuje za špeciálny (zástupný) znak regulárneho výrazu, ale za obyčajný. Takto môžeme v regulárnych výrazoch vyhľadať napríklad znak bodky "\.", doláru "\$", opačného lomítka "\\" a pod. Výnimku tvoria postupnosti "\n", "\t", "\<", "\>", "\x" a referenčné odkazy "\1", "\2", … ktoré majú špecifický význam.

\n – touto postupnosťou hľadáme zalomenie riadku (klávesová skratka Shift+Enter). Pokiaľ chceme nahradiť zalomenie riadku za zalomenie odstavca, použijeme presne tento výraz aj v poli nahradiť.

\t – touto postupnosťou hľadáme znak tabelátora a môžeme ho použiť aj v poli nahradiť.

\< – pomocou tejto postupnosti nájdeme hľadaný reťazec (ktorý je uvedený za ňou) iba vtedy, ak sa nachádza na začiatku slova. Napríklad pomocou regulárneho výrazu "\<. " nájdeme všetky jednoznakové reťazce.

\> – pomocou tejto postupnosti nájdeme hľadaný reťazec (ktorý je uvedený pred ňou) iba vtedy, ak sa nachádza na konci slova. Napríklad pomocou regulárneho výrazu " .\>" nájdeme všetky jednoznakové reťazce.

\xXXXX – táto postupnosť predstavuje znak určený štvormiestnym hexadecimálnym kódom XXXX. Napríklad pomocou regulárneho výrazu "\x00A0" nájdeme všetky nezalomiteľné medzery.

() – zátvorky slúžia k zoskupovaniu znakov, ktoré sú potom považované akoby za jeden znak. Napríklad pomocou regulárneho výrazu "(text)+" nájdeme všetky jedno a viacnásobné výskyty reťazca „text“. Zároveň na výrazy v zátvorkách môžeme použiť aj referenčné odkazy, t.j. nemusíme ich opakovane písať celé. Napríklad pomocou regulárneho výrazu "(a)(b)c\1\2" nájdeme reťazec „abcab“.

| – zvislá čiara predstavuje logický výraz „alebo“, t.j. pomocou nej vyhľadáme reťazec, ktorý sa nachádza pred alebo za ňou. Napríklad pomocou regulárneho výrazu " (a|i|k|o|s|u|v|z) " vyhľadáme všetky jednoznakové predložky.

& – znak and má význam v poli nahradiť, kde pridá nájdený reťazec. Napríklad ak hľadáme reťazec "OpenOffice" a do pola nahradiť zadáme výraz "&.org", potom nahradíme všetky výskyty reťazca „OpenOffice“ za reťazec „OpenOffice.org“.

{koľko} – číslo v zložených zátvorkách určuje, koľkokrát sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2}" nájdeme všetky dvojnásobné medzery.

{od, po} – rozsah dvoch čísiel v zložených zátvorkách určuje, koľkokrát (od až po) sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2,5}" nájdeme všetky dvojnásobné až päťnásobné medzery.

{od,} – neohraničený rozsah čísiel v zložených zátvorkách určuje, minimálne koľkokrát (od) sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2,}" nájdeme všetky viacnásobné medzery.

[zoznam znakov] – takýto zápis znakov uzatvorený v hranatých zátvorkách predstavuje jeden zo znakov, ktorý je uvedený v zozname. Napríklad pomocou regulárneho výrazu " [aikosuvz] " nájdeme všetky jednoznakové predložky. Ako zoznam môžeme použiť aj rozsah znakov, napríklad pomocou regulárneho výrazu " [a-z] " nájdeme všetky jednoznakové reťazce v ktorých je abecedný znak bez diakritiky. Zoznam môže byť aj kombinovaný, napríklad regulárny výraz "[a-kmo-z]" nájde všetky znaky medzi „a“ až „k“, znak „m“ a znaky medzi „o“ až „z“.

[^zoznam znakov] – takýto zápis znakov uzatvorený v hranatých zátvorkách predstavuje jeden zo znakov, ktorý nie je uvedený v zozname. Napríklad pomocou regulárneho výrazu " [^aikosuvz] " nájdeme všetky jednoznakové reťazce okrem predložiek. Ako zoznam môžeme použiť aj rozsah znakov a kombinácie, napríklad pomocou regulárneho výrazu "[^a-kmo-z]" vynecháme z hľadania znaky medzi „a“ až „k“, znak „m“ a znaky medzi „o“ až „z“.

Nasledujúcich osem postupností sa nemôže priamo použiť ako samostatné regulárne výrazy, ale tieto vždy musia obsahovať ešte aspoň jeden znak, inak OpenOffice.org nenájde ani jeden výskyt.

[:digit:] – táto postupnosť predstavuje desiatkové číslice.

[:alpha:] – táto postupnosť predstavuje abecedné znaky. Napríklad pomocou regulárneho výrazu " [:alpha:][:alpha:]? " nájdeme všetky jednoznakové a dvojznakové slová.

[:alnum:] – táto postupnosť predstavuje alfanumerické znaky, t.j. číslice a abecedné znaky spolu.

[:space:] – táto postupnosť predstavuje znaky tabelátora, zalomiteľných a nezalomiteľných medzier. Napríklad pomocou regulárneho výrazu "[:space:]?" nájdeme všetky viacnásobné medzery vrátane najrôznejších kombinácií s tabelátormi a nezalomiteľnými medzerami.

[:print:] – táto postupnosť predstavuje tlačiteľné znaky.

[:cntrl:] – táto postupnosť predstavuje netlačiteľné znaky.

[:lower:] – pokiaľ pri hľadaní rozoznávame veľkosť písmen, tak táto postupnosť predstavuje malé znaky, inak všetky abecedné znaky.

[:upper:] – pokiaľ pri hľadaní rozoznávame veľkosť písmen, tak táto postupnosť predstavuje veľké znaky, inak všetky abecedné znaky.

Skočili sme prvú veľkú desaťdielnu časť seriálu o programovaní makier v OpenOffice.org. V novom roku budeme pokračovať druhou veľkou časťou, kde sa zameriame na formátovanie dokumentu (nezalomiteľné medzery za predložkami, akademickými titulmi a pod.).





Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac
Plánovaná údržba v datacentre (20.09.2026) Oznamy
07. 09. 2026

Plánovaná údržba v datacentre (20.09.2026)

Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...

Čítať viac
Aktualizujte ihneď svoj Wordpress - Kritická zraniteľnosť (CVE-2026-63030) Oznamy
31. 08. 2026

Aktualizujte ihneď svoj Wordpress - Kritická zraniteľnosť (CVE-2026-63030)

Bezpečnostný tím WordPressu vydal núdzovú bezpečnostnú záplatu pre kritickú chybu označenú ako CVE-2026-63030. Táto zraniteľnosť dosiahla...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Výborný pomer
cena / výkon

Ponúkame kvalitné a stabilné služby za rozumnú cenu bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1000 klientov.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

"Mal som možnosť vyskúšať rôzne webhostingy, ale nakoniec som sa rozhodol všetky moje stránky zveriť Inet.sk. Webhosting zvláda jednoduché, ale aj veľmi náročné stránky a magazíny. Podporuje najnovšie technológie a má veľmi prehľadnú a jednoduchú správu domén. Komunikácia s technickou podporou Inet.sk je vynikajúca a za mňa môžem túto firmu iba doporučiť."

Richard Horný
Final Vision, s. r. o.

"Mám u Inet.sk zaparkovanú jednu doménu a mám pocit, že tam zaparkujem aj všetky ostatné domény, ktoré mám, pretože po dlhoročných skúsenostiach s rôznymi inými firmami, mi Vaše služby vyhovujú zatiaľ najviac. Odporúčam kvôli dobrej konektivite a primeranej cene + rýchly support."

Ladislav Kéry
vypnutieimobilizera.sk

"Po rokoch skúšania dodávateľov na poli webhostingových služieb sme našli svojho spoľahlivého a stabilného partnera tu. Stabilita, ochota, znalosť, dobrá cena a rýchle vyriešenie prípadných problémov - to je pre nás Inet.sk."

Jaroslav Mráz
Allycom, s.r.o.

"Máme u Vás doménu a hosting. So službami sme nadmieru spokojní. Z Vašej strany máme pozitívne skúsenosti ako sú: rýchle jednanie, znalosť v problematike, ochota pomôcť, stabilita, zavádzanie noviniek, ak ich klient vyžaduje a dobrá cena. Za nás môžeme Inet.sk len odporučiť. Ďakujeme."

Mgr. Zuzana Valovičová
BL servis, s.r.o.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies