abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 3
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    8.8. 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 8
    8.8. 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 1
    8.8. 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 10
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 318 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz na regexp

    17.4.2006 17:43 | Abíčko

    Snažím se vymyslet regexp, který by detekoval ampersand, který není součástí HTML entity. HTML entitou myslím > a další, což se dá nejspíše vyjádřit jako &[a-z]+;. Ale jak to dát dohromady do dotazu, najdi takové ampersandy, za kterými nic takového nenásleduje? Ja mám pocit, že to snad ani vyjádřit nejde. Pokud jde o syntaxi, zde je její popis.

           

    Hodnocení: 67 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    17.4.2006 17:49 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    &[^a-z]+ | &$

    buď je za ním alespoň jedno nepísmeno nebo je na konci řetězce
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    17.4.2006 17:53 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    A co treba string "Otec&Syn" ? Nechci zakazat pismena za ampersandem, jenom kdyz jsou ukoncena strednikem.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    17.4.2006 17:53 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    aha, ten středník jsem přehlédl, pak tedy &[^a-z]+[^;] | &. | &$
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    17.4.2006 17:55 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    respektive :-) &[^a-z]+[^;] | &.$ | &$

    jestli to není dobře, tak už dál hádat nebudu :-)
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    17.4.2006 17:58 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    není, tohle nevezme &;;

    už mlčím :-)
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    17.4.2006 17:56 Wolf | skóre: 7
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    tohle me fungovalo, nejsem autor, ale uz si bohuzel nepamatuju, kde jsem to nasel...

    &(?![a-zA-Z]{2,6};|#[0-9]{3};)
    17.4.2006 18:14 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    A proč se vlastně ptáš v blogu a ne v diskusi? ;-)
    17.4.2006 18:27 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Třeba se to netýká tématu tohoto serveru :-D
    When your hammer is C++, everything begins to look like a thumb.
    Yin avatar 18.4.2006 15:53 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Leoš tu v tomto blogu informuje o vývoji Abíčka, zverejnil zdrojové kódy Abíčka a každý o kom viem, že mu s Abíčkom pomáha, jeho blog sleduje...
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    18.4.2006 16:17 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    protoze nechci dostat vynadano, ze je to offtopic ;-)
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    David Watzke avatar 18.4.2006 17:45 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Myslím, že by si to nikdo nedovolil :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    19.4.2006 06:32 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Ale uz se jednou stalo, kdyz jsem se ptal, zda mi chcipa monitor.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    17.4.2006 20:13 jiri.v
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    snad by melo fungovat &(?!\w+;)
    17.4.2006 21:40 razor | skóre: 33
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Bohužel operator ?! v dané syntaxi není
    17.4.2006 22:12 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Ale v Java Pattern je, pak bych mozna mel dalsi duvod opustit jakarta regexp. Prvnim duvodem je udajna pomalost, nedavno jsem zahledl nejaky benchmark, kde jej porazili snad uplne vsichni.

    Kazdopadne diky, tenhle figl jsem neznal.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    18.4.2006 07:42 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    tento figl je najcistejsie riesenie. osobne by som sa vsak priklonil k tomuto regexpu. Riesi aj ciselne entity.
    Resp, s upravou
    &(?![a-zA-Z][a-zA-Z0-9]+;|#[0-9]+;|#[xX][a-fA-F0-9]+;)
    
    a ak nema kontrolovat spravnost ciselnych entit, tak postacuje
    &(?!#?[a-zA-Z0-9]+;)
    
    18.4.2006 09:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Použít vyhlížení (?!…) když je to přímo v java.util.regex je asi nejlepší. Bez vyhlížení to IMHO nepůjde zapsat jako jedno porovnání a muselo by se to udělat nadvakrát.
    Yin avatar 18.4.2006 15:59 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    a pomohlo to?
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    17.4.2006 22:12 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp

    Zkusil bych něco takovýho:

    (&)[^;]*[[:space:]]
    

    (shoda v prvním podřetězci je přesně ten hledaný &)

    IMHO tam musíš mít nějakej oddělovač, kterej ti určí, kdy končí entita (v mé "ukázce" jsem tam dal jenom bílé znaky, ale tu množinu lze samozřejmě rozšířit), jinak to není regulární jazyk.

    Každý má právo na můj názor!
    17.4.2006 22:14 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp

    Teda abych se vyjádřil lépe - oddělovač, kdy už to nemůže být entita.

    Každý má právo na můj názor!
    18.4.2006 08:15 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    cau,

    a co takhle v xml vybrat vsechny entity a nedelat to vybec pres regularni vyrazy ? ne-li, ze si pres nejake dtd overis, zda to vubec je entita, co te zajima.

    gf
    18.4.2006 10:07 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Mam titulek nejakeho clanku, ktery chci osetrit. Nekteri mamlasi do nej strkaji HTML znacky, proto je musim vyescapovat. Jinde escapuji ampersand, takze tuto cinnost nesmim provadet, zatimco jine servery escapovani nedelaji a musim jej udelat ja (jinak neni stranka html validni).
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    18.4.2006 14:39 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    anebo me pomohla JTidy. a neni **snad** nutne, aby mel dokument, ktery zpracovavas, html hlavicku. das pouze kus html. pouzivam priblizne toto na cisteni html - douprav si sam. a useri s jejich html mi mohou potom vlezt na zada, kdyz to uplne nezmrsi.
       Tidy tidy = new Tidy();
    //   Configuration tidyconfig = new Configuration();
      
      tidy.setXHTML(true);
    
      tidy.setXmlOut(true);
    //  tidy.setXmlPIs(true);
      tidy.setXmlPi(true);
      tidy.setMakeClean(true);
      tidy.setAltText("");
      tidy.setPrintBodyOnly(true);
      tidy.setFixUri(true);
      tidy.setWord2000(true);
      tidy.setDropFontTags(true);
      tidy.setSmartIndent(true);
      tidy.setInputEncoding("utf-8");
      tidy.setOutputEncoding("utf-8");
    
    //  tidy.setHideComments(true);
    //  tidy.setXmlTags(true);
    
      tidy.setShowWarnings(false);
    
    
    InputStream inputStream = 
    	new BufferedInputStream( new FileInputStream(ConvertedFileName));
    
    
    OutputStream zeroout = new ByteArrayOutputStream();
      org.w3c.dom.Document ThisDocument = tidy.parseDOM(inputStream, zeroout);
    
    	if(ThisDocument == null)   {
    	   System.err.println("Document nejde opravit......");
                 // vlozit, jak je
            }  else  {
    
               // nejam vlozit dane xml - print pretty xml/xhtml, tisk vnitrku xml znacky.....
    
            }
    
    
    bye gf
    18.4.2006 16:16 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    Diky, ale ja vazne neparsuji HTML. Dostanu z RSS titulek clanku a musim jej osetrit, protoze do nej vydavatele cpou nesmysly a kazdy to dela jinak. Na tohle je opravdu lepsi regexp nez z jednoho textu delat HTML, prohnat jej tidy a pak zase vytahovat z HTML ten text.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    18.4.2006 16:49 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    resil jsem podobnou ulohu na toto tema. priznam se, ze neni zcela vyresena.

    osobne, kdybych delal toto, tak to resim urcite pres nejake overeni pres dtd. osobne vykon je posledni co bych v teto dobre resil.

    kdyz uz nutne pouzit regularni vyraz, tak jenom na bloky mezi znaky ';' .

    snazil jsem se podobnou ulohu resit pres regularni vyrazy, ale nevidim to jako pouzitelne reseni. je sice fajn, ze ty priblizne urcis co to je entita. ale co kdyz takova vubec neexistuje ? pak se dostavas opet k nevalidnimu xhtml. staci kdyz se uzivatel upise v nazvu dane html entity.

    kdyz uz pak vyrazovat elementy, tak elegantne by to melo jiz pres XPath.

    nechci ti do toho kecat, ale podle me nejake detekce, ze to je __asi__ znacka ci entita s 2-4 znaky neni resenim. ze by ! nebo ϊ? tot muj nazor, nikomu neberu jeho.

    gf
    18.4.2006 19:31 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    gramatika entity je stara ako sgml samo. ale mam dojem, ze je potrebny negative lookahead ...
    s/&(?<!#?[a-zA-Z0-9]+;)/&/g
    hajma avatar 18.4.2006 10:27 hajma | skóre: 27 | blog: hajma | Říčany
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    A co takhle pustit na to tidy?
    21 promarněných znaků
    19.4.2006 13:25 happy | blog: happy | Praha
    Rozbalit Rozbalit vše Re: Dotaz na regexp
    A nebylo by jednodusi napsat si nejaky jedoduchy lexer? Pripadne pouzit nejaky nastroj typu ANTLR?

    - pavel

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.