Ach ty regulární výrazy

Tomáš Herceg       3. 5. 2012       C#       5780 zobrazení

Dneska jsem několik minut koukal na tento regulární výraz, než mi došlo, co vlastně dělá. Poznáte to?

 \[[^\]]+\] 

 

hodnocení článku

1 bodů / 1 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Ach ty regulární výrazy

Vyhledává něco jako atributy? Tedy "[cokoliv krom konce hranaté závorky]".

K čemu to slouží?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, přesně tak - vyhledává to neprázdné sekvence v hranatých závorkách. Děláme jednu aplikaci na zobrazování právních předpisů a tohle v nich vyhledává poznámky a dělá z nich hyperlinky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tento regexp nepatří zrovna mezi složité - viděl jsem a řešil mnohem složitější a na první pohled téměř nepochopitelné.Jde asi o to,jak často s regexp pracujete.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neříkám, že je složitý. Jen jeho funkce není zřejmá na první pohled, což mi obecně na regexpech vadí - mám rád jednoduchý a přehledný kód, kde je okamžitě jasné, co dělá.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To s Vámi souhlasím.Docela se i divím,že zatím "nikdo" nepřišel s lepším zápisem regexp - i když je možné,že nějaký tool nebo nadstavba,která by umožnila snadnější a hlavně lépe čitelný zápis/čtení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je možné vkladať komentáre (#), v prípade, že sa nastaví flag na ignorovanie whitespacu, ale neviem, či to funguje v každej implementácii reg. výrazov (v .NETe to funguje).

Nevýhodou je to, že whitespace znaky sa (logicky) musia escapovať, čo zase prehľadnosti nepridá.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback