Skip to content
Zpět na začátek

# Regulární výrazy

Regulární výrazy popisují vzory ve znacích, které lze použít k určení, zda se daný vzor v textu vyskytuje nebo ne.

Ve TreeSize lze použít regulární výrazy k nalezení konkrétních souborů a/nebo složek, které odpovídají kritériím specifikovaným regulárními výrazy. Podporován je seznam speciálních znaků.

Následující tabulka ukazuje některé z nejpoužívanějších syntaktických prvků a poskytuje několik příkladů:

Výraz | Syntaxe | Popis | Příklad
--- | --- | --- | ---
Jakýkoli znak | `.` | Odpovídá jakémukoli jednotlivému znaku kromě zalomení řádku. | `a.o` odpovídá „aro“ ve „around“ a „abo“ ve „about“, ale ne „acro“ ve „across“.
Nula nebo více | `*` | Odpovídá nule nebo více výskytům předchozího výrazu a provádí všechny možné shody. | `a*b` odpovídá „b“ ve „bat“ a „ab“ ve „about“. `e.*e` odpovídá slovu „enterprise“.
Jeden nebo více | `+` | Odpovídá alespoň jednomu výskytu předchozího výrazu. | `ac+` odpovídá slovům, která obsahují písmeno „a“ a alespoň jeden výskyt „c“, jako „race“ a „ace“. `a.+s` odpovídá slovu „access“.
Začátek řetězce | `^` | Odpovídá začátku řetězce. | `^[0-9]` odpovídá řetězcům, které začínají číslicí.
Konec řetězce | `$` | Odpovídá konci řetězce. | `exe$` odpovídá řetězcům, které končí na „exe“.
Začátek slova | `[[:<:]]` | Odpovídá pouze tehdy, když slovo začíná na tomto místě v textu. | `[[:<:]]in` odpovídá slovům jako „inside“ a „into“, která začínají písmeny „in“.
Konec slova | `[[:>:]]` | Odpovídá pouze tehdy, když slovo končí na tomto místě v textu. | `ss[[:>:]]` odpovídá slovům jako „across“ a „loss“, která končí na písmena „ss“.
Jakýkoli jeden znak v sadě | `[]` | Odpovídá jakémukoli jednomu z znaků v []. Pro určení rozsahu znaků uveďte počáteční a koncový znak oddělené pomlčkou (-), například [a-z]. | `be[n-t]` odpovídá „bet“ ve „between“, „ben“ v „beneath“ a „bes“ v „beside“, ale ne „bel“ v „below“.
Jakýkoli jeden znak, který není v sadě | `[^...]` | Odpovídá jakémukoli znaku, který není v sadě znaků, která následuje po `^`. | `be[^n-t]` odpovídá „bef“ ve „before“, „beh“ v „behind“ a „bel“ v „below“, ale ne „ben“ v „beneath“.
Nebo | `|` | Odpovídá buď výrazu před symbolem OR (|), nebo výrazu za ním. Většinou se používá ve skupině. | `(sponge|mud)` odpovídá „sponge bath“ a „mud bath“.
Escape znak | `\` | Odpovídá znaku, který následuje po zpětném lomítku (`\`) jako literálu. To vám umožňuje najít znaky, které se používají v notaci regulárních výrazů, jako jsou `{` a `^`. | `\^` hledá znak `^`.
Opakování n-krát | `{n}` | Odpovídá n výskytům předchozího výrazu. | `[0-9]{4}` odpovídá libovolné sekvenci čtyř číslic.
Skupinování | `()` | Umožňuje vám seskupit sadu výrazů dohromady. Pokud chcete hledat dva různé výrazy v jednom hledání, můžete použít výraz pro skupinování k jejich kombinaci. | Pokud chcete hledat `[a-z][1-3]` nebo `[0-9][a-z]`, zkombinujete je: `([a-z][1-3])|([0-9][a-z])`.

## Další příklady

Regulární výraz | Případ použití
--- | ---
`[0-9]` nebo `\d` | Najděte všechny soubory/složky, které mají ve svém názvu alespoň jednu číslici.
`a|b` | Najděte všechny soubory/složky obsahující „a“ nebo „b“ ve svém názvu.
`[^(A-Za-z)]` | Najděte všechny soubory/složky obsahující alespoň jeden znak ve svém názvu, který není v rozsahu A-Z nebo a-z.
`^E[0-9]{7}$` | Najděte všechny soubory/složky, které začínají na „E“ následované přesně 7 číslicemi.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Najděte všechny soubory/složky s hloubkou složky alespoň 2 a maximálně 4.
`[^\x00-\x7F]` | Najděte všechny soubory/složky s neplatnými ASCII znaky.
`[^\P{C}]` | Najděte všechny soubory/složky s Unicode znaky, které nelze vytisknout.
`[\xA0]` | Najděte všechny názvy souborů/složek, které obsahují znak pro nezlomitelnou mezeru (Unicode NOBR, U+00A0) místo normálního znaku mezery.
`[~\""#%&\*\:<>\?\/\\{|}]` | Najděte všechny názvy souborů a složek, které obsahují znaky, které jsou neplatné na serverech SharePoint.
`^\s+.*` | Najděte všechny soubory a složky s vedoucí mezerou.
`\s+(\.[^.]+)$` | Najděte soubory s příponou, které mají na konci svého názvu mezeru.
`.*\s+$` | Najděte složky, které mají na konci svého názvu mezeru.

## Nástroje pro vytváření regulárních výrazů

https://regex101.com/ (online)

http://regexpal.com/ (online)

http://sourceforge.net/projects/regexpeditor/ (stáhnout)

http://sourceforge.net/projects/regextester/ (stáhnout)

http://sourceforge.net/projects/regaxe/ (stáhnout)