# Vyhledávání

## Obsah

- 1. Okno Hledat
- 2. Umístění hledání
- 3. Metody vyhledávání
  - 3.1. Přesné vyhledávání
  - 3.2. Hledat podle klíčových slov
- 4. Vyhledávání pomocí zástupných znaků
- 5. Vyhledávání pomocí regulárních výrazů
  - 5.1. Regulární výrazy používané při vyhledávání
  - 5.2. Krátký přehled konstrukcí regulárních výrazů

## Okno Hledat

OmegaT poskytuje množství výkonných vyhledávacích funkcí.

Okno Hledat otevřete pomocí zkratky `Ctrl+F` a zadejte slovo nebo frázi, kterou chcete vyhledat do pole "Hledat".

Nebo vyberte slovo nebo frázi v editačním poli (cílový text aktivního segmentu) a stiskněte `Ctrl+F`. Slovo nebo fráze je v tomto případě zadané do pole "Hledat" automaticky.

Spuštění okna Hledat vždy otevře samostatné nové okno. Pokud je zapomenete zavírat, můžete se dostat do stavu, kdy bude otevřeno velké množství oken Hledat.

Hledání probíhá jak ve zdrojové, tak v cílové sekci projektu.

## Umístění hledání

Vyberte umístění pomocí zaškrtávacích polí.

Můžete vybrat množství umístění pro vaše hledání:

- Pouze projekt (výchozí nastavení)
- Projekt a referenční překladové paměti v /tm/ (označte Prohledávat překladové paměti)
- Jediný soubor nebo adresář obsahující sadu souborů (označte Prohledávat soubory)

U posledního případu, bude OmegaT prohledávat jen soubory, které dokáže přečíst (viz Podporované formáty souborů).

## Metody vyhledávání

Vyberte metodu hledání pomocí přepínacích tlačítek.

Můžete si vybrat mezi dvěma metodami hledání:

- Přesné vyhledávání: hledá segmenty obsahující řetězec, který jste zadali.
- Hledat podle klíčových slov: hledá segmenty obsahující všechna klíčová slova, která jste zadali, v jakémkoliv pořadí.

Pro kteroukoliv z těchto metod můžete vybrat následující tři volby:

- Rozlišovat velikost písmen: pokud je toto vybrané, hledání bude vykonané pro přesný řetězec, který jste zadali; jinak budou velká písmena ignorována.
- Regulární výrazy: výběr znamená, že s hledaným řetězcem se bude zacházet jako s regulárním výrazem (v případě hledání klíčového slova se to bude brát jako vícenásobný výraz).
- Prohledávat překladové paměti: když je toto vybrané, všechny překladové paměti jsou zahrnuty v procesu hledání.

## Přesné vyhledávání

Přesné vyhledávání hledá slovní spojení, tj. pokud je zadaných několik slov, budou tato nalezena jen pokud se nacházejí v přesně stejném pořadí. Přesné hledání je podobné hledání "přesného výrazu" v internetovém vyhledávači typu Google.

## Hledat podle klíčových slov

Vyberte "Hledat podle klíčových slov" a zadejte jakékoliv množství samostatných slov, oddělených mezerami a v jakémkoliv pořadí, OmegaT zobrazí seznam všech segmentů, ve kterých se všechna tato slova vyskytují. Vyhledávání podle klíčových slov je podobné jako hledání "se všemi slovy" v internetovém vyhledávači typu Google (logika AND).

## Vyhledávání pomocí zástupných znaků

V přesném vyhledávání, a i při hledání podle klíčových slov, mohou být použity zástupné vyhledávací znaky '`*`' a '`?`' . Pro použití zástupných znaků se ujistěte, že není vybrána volba regulární výrazy, jinak budou tyto znaky interpretované jako speciální znaky regulárních výrazů.

Zástupný znak '`?`' představuje jakýkoliv jediný znak, tj. '`b?d`' najde výskyty '`bad`' a '`bid`'. Zástupný znak '`*`' představuje jakýkoliv znak nebo několik znaků, tj. '`b*d`' najde výskyty '`bad`', '`bid`', '`bold`' a '`band`'.

Pokud chcete vyhledat segmenty obsahující tyto znaky, budete potřebovat zapnout regulární výrazy a citovat je tak, že před ně přidáte zpětné lomítko ('`\`'), tj. '`x\*y`' pro nalezení výskytů '`x*y`' a '`x\?y`' pro nalezení výskytů '`x?y`'.

## Hledání pomocí regulárních výrazů

Vyhledávání pomocí regulárních výrazů představuje silný nástroj pro hledání výskytů daného řetězce. Je to podobné jako normální hledání, ale umožňuje daleko větší flexibilitu. Na internetu můžete najít jednoduché nápovědy (např. http://www.regular-expressions.info/quickstart.html.)

### Použití regulárních výrazů při hledání

Regulární výrazy použité při vyhledávání jsou takové, které podporuje Java. Pokud potřebujete bližší informace, prosím navštivte tuto stránku: http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html.

#### Krátký přehled konstrukcí regulárních výrazů

Pojem | Odpovídající výrazy
--- | ---
Označení
`(?i)` | Umožňuje hledání bez ohledu na velikost písmen (ve výchozím nastavení se rozlišují velká a malá písmena).
Znaky
x | Znak x, s výjimkou následujících...
`\u` hhhh | Znak s hexadecimální hodnotou `0x` hhhh
`\t` | Znak tabulátoru (`'\u0009'`)
`\n` | Znak nového řádku (konce řádku) (`'\u000A'`)
`\r` | Znak návratu vozíku (`'\u000D'`)
Uvozující znaky
`\` | Lomítko samo o sobě neznamená nic, ale uvozuje následující znak. Toto se vyžaduje, pokud byste chtěli zadání metaznaků `!$()*+.<>?[\]^{|}` tak, aby odpovídaly samy sobě.
`\\` | Například toto je znak pro hledání zpětného lomítka
`\Q` | Nic neznamená, ale vymezuje všechny znaky až po `\E`
`\E` | Nic neznamená, ale končí vymezení započaté pomocí `\Q`
Třídy znaků
`[abc]` | `a`, `b` nebo `c` (jednoduchá třída)
`[^abc]` | Jakýkoliv znak mimo `a`, `b` nebo `c` (negace)
`[a-zA-Z]` | `a` až po `z` nebo `A` až po `Z`, včetně (rozsah)
Předdefinované třídy znaků
`.` | Jakýkoliv znak (kromě znaků ukončujících řádek)
`\d` | Číslo: `[0-9]`
`\D` | Ne-číslo: `[^0-9]`
`\s` | Znak mezery: `[ \t\n\x0B\f\r]`
`\S` | Znak ne-mezery: `[^\s]`
`\w` | Znak slova: `[a-zA-Z_0-9]`
`\W` | Znak ne-slova: `[^\w]`
Označení hranic
`^` | Začátek řádku
`$` | Konec řádku
`\b` | Hranice slova
`\B` | Hranice ne-slova
Vícenásobné kvantifikátory
Tyto budou představovat tolik, kolik jen mohou. Například: `a+` bude odpovídat `aaa` v `aaabbb`
X`?` | X, jednou nebo vůbec
X`*` | X, nula- nebo vícekrát
X`+` | X, jednou nebo vícekrát
Líné kvantifikátory
Tyto budou představovat tak málo, jak jen mohou. Například: `a+?` bude odpovídat prvnímu `a` v `aaabbb`
X`??` | X, jednou nebo vůbec
X`*?` | X, nula- nebo vícekrát
X`+?` | X, jednou nebo vícekrát
Logické operátory
XY | X následované Y
X`|`Y | Buď X a nebo Y
`(`XY`)` | XY jako samostatná skupina

Právní poznámky