www.PalmHelp.cz

DragonEdit: kdo hledá (sem tam něco i) najde! (4. část)
Publikováno: 22.04.2008
Téma: Software


V našem seriálu, v němž jsme se vydali po stopách vybavení a funkčnosti textového i HTML editoru DragonEdit, jsme již nesčetněkrát měli možnost ocenit propracovanost tohoto programu. A jsme si jisti, že ani dnes (po seznámení se s jeho širokými vyhledávacími možnostmi) tomu nebude jinak...



V. Find / Replace (najdi / nahraď)

Ikonky [Find] a [Replace] se ukrývají napravo od uzavírací složené závorky TAGů, přímo nad [br].




5.1 Find (hledání)

Funkce [Find] aneb "nalezni" je ukryta za "sherlockovskou" lupou, po jejímž stisknutí se objeví hledací dialog. Námi hledaný text do něj můžeme vložit - kromě tradičního ručního zadání - také přes schránku, případně označit rovnou v editoru. Pokud chceme, aby byl při hledání textu brán ohled i na velká a malá písmena, je třeba v dolní části dialgu zatrhnout checkbox Match Case. Volba Regular Expressions (regulérní výrazy) zpracuje pokročilé hledací dotazy, o kterých bude řeč za chvilku. V případě zájmu lze ještě určit, zda chceme prohledat jen aktuální dokument či naopak všechny otevřené. Po klepnutí na tlačítko [Find] se již začnou vypisovat konkrétní nalezené položky (i s informací o pozici v dokumentu vespod). Po klepnutí na ten či onen výsledek se dotyčný vysvítí.




5.1.1. Regular Expressions (regulérní výrazy)

Zbývá ještě doplnit, jaké vyhledávací výrazy editor podporuje. A že jich není málo:

5.1.1.1. Characters (znaky)

Jediné písmeno zřejmě bude hledat málokdo, ale budiž - syntax položky characters je následující:
  • x - hledá písmeno "x" - s výjimkou speciálních znaků * ? + - | () [ ].
  • x - jiný způsob zápisu hledání znaku "x".
5.1.1.2. Atoms (lexikální jednotky)
  • a - najde písmeno "a".
  • [abc] - kusy textu tvořené písmeny "a", "b" nebo "c".
  • [a-z] - všechna písmena od "a" do "z".
  • [a-zA-Z] - všechna písmena od "a" do "z" a od "A" do "Z".
  • [^a] - jakékoliv písmeno kromě "a".
  • [^a-z] - jakékoliv písmeno kromě těch v rozmezí "a" až "z" (včetně).
  • . - jakékoliv písmeno s výjimkou Line Break (nový řádek) či Carriage Return (návrat na první písmeno na stejném řádku). Toto odpovídá hledání výrazu [^ ].
Pozor! Pokud jde o specifikaci vyhledávání znakových skupin, pak zde nelze používat operátory +, ?, * nebo |.

5.1.1.3. Cardinality (četnost výskytu)
  • X* - nulový či vyšší výskyt "X".
  • X+ - jeden či více výskytů "X".
  • X? - přinejmenším jeden výskyt "X".
5.1.1.4. Operators (operátory)
  • XY - "X" a dále "Y".
  • X|Y - "X" nebo "Y".
5.1.1.5. Priorita operátorů

Pokud jde o prioritu výše zmíněných operátorů, pak nejprve jsou vykonány hranaté závorky, následují ? + *, poté | (or) operátor a nakonec zřetězení.

5.1.1.6. Příklady
  • foo - hledá řetězec "foo".
  • a|bc - najde "a" nebo "b" následované "c" (tj. "ac" nebo "bc").
  • a|(bc) - dívá se po řetězci "a" nebo řetězci "bc".
  • ab+ - najde strings začínající "a" a následované jedním či více "b".
  • (ab)+ - hledá výrazy "ab", "abab", "ababab" atd.
  • [a-z]+ - najde všechna slova.
  • [0-9]+ - vypíše pouze pozitivní integery.
Existují i další a mnohem složitější výrazy, kupříkladu "Najdi číslo ve vědeckém zápisu": [+-]?[0-9]+(.[0-9]*)?([eE][+-]?[0-9]+)?. Také "Najdi e-maily" stojí s ohledem na svoji "primitivnost" za zmínku: [0-9a-z_]+(.|-[0-9a-z_]+)*@[0-9a-z_]+(.|-[0-9a-z_]+)+. Po pochopení zákonitostí zápisu vám samozřejmě nic nebrání sestavovat si libovolné podobné výrazy sami.

5.2 Replace (nahraď)

Ikonka [Replace] funguje v zásadě naprosto stejně jako vyhledávání, ovšem s tím rozdílem, že dolů do nahrazovací sekce vložíme ještě text, kterým chceme ten nalezený nahradit. Lze klepat na [Replace] pro každou jednotlivou položkou anebo rovnou vybrat [Replace All] (nahraď vše).






Pokračování článku:
DragonEdit: drobečky kódu po kapsách (5. část
Předchozí části článku:
DragonEdit: po hlavě do nastavení a HTML Wizardů (3. část)
DragonEdit: za tajemstvím obsluhy (2. část)
DragonEdit: seznamte se prosím! (1. část)



Tento článek si můžete přečíst na webu www.PalmHelp.cz
http://www.palmhelp.cz/html

Tento článek najdete na adrese:
http://www.palmhelp.cz/html/modules.php?name=News&file=article&sid=1675