Skip to content
Späť na začiatok

# Regulárne výrazy

Regulárne výrazy popisujú vzory v reťazcoch, ktoré možno použiť na určenie, či sa daný vzor v texte vyskytuje alebo nie.

V aplikácii TreeSize možno regulárne výrazy použiť na vyhľadávanie konkrétnych súborov a/alebo adresárov, ktoré zodpovedajú kritériám zadaným regulárnymi výrazmi. Podporovaný je zoznam špeciálnych znakov.

V nasledujúcej tabuľke sú uvedené niektoré najpoužívanejšie syntaxe a niekoľko príkladov:

Výraz | Syntax | Popis | Príklad
--- | --- | --- | ---
Akákoľvek postava | `.` | Zodpovedá akémukoľvek jednotlivému znaku okrem zalomenia riadku. | `a.o` sa zhoduje s „aro“ v „okolo“ a „abo“ v „o“, ale nie s „acro“ v „cez“.
Nula alebo viac | `*` | Zodpovedá nule alebo viacerým výskytom predchádzajúceho výrazu a vykoná všetky možné zhody. | `a*b` zodpovedá „b“ v „bat“ a „ab“ v „about“. `e.*e` zodpovedá slovu „enterprise“.
Jeden alebo viac | `+` | Zodpovedá aspoň jednému výskytu predchádzajúceho výrazu. | `ac+`` zodpovedá slovám, ktoré obsahujú písmeno „a“ a aspoň jeden prípad písmena „c“, napríklad „race“ a „ace“. `a.+s` zodpovedá slovu „access“.
Začiatok reťazca | `^` | Zodpovedá začiatku reťazca. | `^[0-9]`` zodpovedá reťazcom, ktoré začínajú číslicou.
Koniec reťazca | `$` | Zodpovedá koncu reťazca. | `exe$` zodpovedá reťazcom, ktoré končia na „exe“.
Začiatok slova | `[[:<:]]` | Zodpovedá len vtedy, keď slovo začína na tomto mieste textu. | `[[[:<:]]in` zodpovedá slovám ako „inside“ a „into“, ktoré začínajú písmenami „in“.
Koniec slova | `[[:>:]]` | Zodpovedá len vtedy, keď slovo končí na tomto mieste textu. | `ss[[[:>:]]`` zodpovedá slovám, ako napríklad „across“ a „loss“, ktoré končia na písmená „ss“.
ľubovoľný znak v súbore | `[]` | Zodpovedá niektorému zo znakov v []. Ak chcete zadať rozsah znakov, uveďte začiatočné a koncové znaky oddelené pomlčkou (-), ako napríklad [a-z]. | `be[n-t]`` sa zhoduje s „bet“ v „medzi“, „ben“ v „pod“ a „bes“ v „vedľa“, ale nie s „bel“ v „pod“.
ľubovoľný znak, ktorý nie je v súbore | `[^...]` | Zodpovedá akémukoľvek znaku, ktorý nie je v množine znakov, ktorá nasleduje za znakom `^`. | `be[^n-t]`` sa zhoduje s „bef“ v slove „pred“, „beh“ v slove „za“ a „bel“ v slove „pod“, ale nie s „ben“ v slove „pod“.
Alebo | `|` | Zodpovedá buď výrazu pred alebo za symbolom OR (|). Väčšinou sa používa v skupine. | `(špongia|blato)` zodpovedá „špongia“ a „bahenný kúpeľ“.
Únikový znak | `\` | Zodpovedá znaku, ktorý nasleduje za spätným lomítkom (`\`) ako literál. To umožňuje nájsť znaky, ktoré sa používajú v zápise regulárnych výrazov, ako napríklad `{`` a `^``. | `\^` hľadá znak `^`.
Opakujte n-krát | `{n}` | Zodpovedá n výskytom predchádzajúceho výrazu. | `[0-9]{4}` zodpovedá akejkoľvek 4-miestnej sekvencii.
Zoskupenie | `()` | Umožňuje zoskupiť sadu výrazov. Ak chcete v rámci jedného vyhľadávania vyhľadať dva rôzne výrazy, môžete ich spojiť pomocou výrazu Zoskupenie. | Ak chcete vyhľadať `[a-z][1-3]`` alebo `[0-9][a-z]``, musíte ich skombinovať: `([a-z][1-3])|([0-9][a-z])`.

## Ďalšie príklady

Pravidelný výraz | Prípad použitia
--- | ---
`[0-9]`` alebo `\d` | Nájdite všetky súbory/adresáre, ktoré majú v názve aspoň jednu číslicu.
`a|b`` | Nájdite všetky súbory/adresáre, ktoré obsahujú v názve „a“ alebo „b“.
`[^(A-Za-z)]`` | Nájdite všetky súbory/Adresáre, ktorých názov obsahuje aspoň jeden znak, ktorý nie je v rozsahu A-Z alebo a-z.
`^E[0-9]{7}$` | Nájdite všetky súbory/adresáre, ktoré začínajú písmenom „E“, za ktorým nasleduje presne 7 číslic.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Nájdite všetky súbory/priečinky s hĺbkou adresára najmenej 2 a najviac 4.
`[^\x00-\x7F]` | Nájsť všetky súbory/adresáre s neplatnými znakmi ASCII.
`[^\P{C}]` | Vyhľadanie všetkých súborov/adresárov so znakmi Unicode, ktoré nie je možné vytlačiť.
`[\xA0]` | Nájdite všetky názvy súborov/adresárov, ktoré obsahujú znak nezlomiteľnej medzery (Unicode NOBR, U+00A0) namiesto normálneho znaku medzery.
`[~\""#%&\*\:<>\?\/\\{|}]` | Vyhľadanie všetkých názvov súborov a adresárov, ktoré obsahujú znaky, ktoré sú na serveroch SharePoint neplatné.
`^\s+.*` | Vyhľadajte všetky súbory a adresáre s úvodnou medzerou.
`\s+(\.[^.]+)$` | Nájdite súbory s príponou, ktoré majú na konci názvu medzeru.
`.*\s+$` | Vyhľadajte Adresáre s medzerou na konci názvu.

## Nástroje na vytváranie regulárnych výrazov

https://regex101.com/ (online)

http://regexpal.com/ (online)

http://sourceforge.net/projects/regexpeditor/ (na stiahnutie)

http://sourceforge.net/projects/regextester/ (na stiahnutie)

http://sourceforge.net/projects/regaxe/ (na stiahnutie)