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

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 6
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 12
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1066 hlasů
     Komentářů: 17, poslední včera 15:31
    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.