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í
×

dnes 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 4
dnes 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
včera 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

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

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
včera 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
11.12. 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
11.12. 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 2
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 6
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 974 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: Regulární výraz-získání hodnot

    26.9.2007 18:32 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Regulární výraz-získání hodnot
    Přečteno: 283×

    Nevíte, jak ze souboru tohoto typu:

     <option value="152">Abertamy</option>
                          <option value="269">Adamov u Brna</option>
                          <option
                  value="479">Adolfovice</option>
                          <option value="182">Adršpach</option>
                          <option value="170">Albrechtice</option>
                          <option
                  value="271">Aš</option>
                          <option value="293">Babylon</option>
                          <option
                  value="459">Bačetín</option>
                            <option value="179">Bartošovice v
                              Orlických horách</option>
                          <option value="410">Batelov</option>
                          <option value="155">Batňovice</option>
                            <option value="233">Bečov nad
                              Teplou</option>
                          <option value="1">Bedřichov</option>
                          <option
                  value="349">Bechyně</option>
    

    získat asi nejlépe pomocí nějakého rogulárního výrazu ty hodnoty value="xxx" a pak textové hodnoty jako např.: Abertamy, a udělal z nich řetězce jako

    INSERT INTO #__tabulka SET id=152, name=Abertamy;

    Za odpovědi předem děkuji.

    Odpovědi

    26.9.2007 18:38 neaktivni | skóre: 24 | blog: neaktivni
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    vzhledem ke sve lenosti bych to udelal asi pomoci PHP (i to vkladani do db) pres SimpleXML
    26.9.2007 18:44 pupu | skóre: 30
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud je to co radek, to jeden zaznam, je to trivialni. Pokud ne, tak to uz tak trivialni neni.

    trivialni reseni muze byt treba takhle: perl -ne '/<option value=\"(\d+)\">([^<]+)<\/option>/ && print "$2 $1\n"'

    Vyhovuje?

    poznamka pro administratory: je opravdu tak zasadni problem pridat do zahlavi zatrhavatko 'prosty text'? prepisovat html znovu do html je drobet opruz
    26.9.2007 18:53 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Je to co řádek to záznam, ale problém je, že někdy je text option na jednom řádku a pokračování na druhém
    26.9.2007 19:31 pupu | skóre: 30
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Hmm. Vzhledem k tomu, ze jsem zname prase jdouci cestou nejmensiho odporu a na estetiku nehledici, udelal bych to klidne takhle (pokud bych tedy fakt hodne spechal):

    perl -e 'while (<>) {chomp;$radek=$radek." ".$_;}; $radek=~s/option>/option>\n/g; print $radek' <vstup |perl -ne '/<option\s+value=\"(\d+)\">([^<]+)<\/option>/ && print "$2 $1\n"' >vystup

    Akorat to produkuje mezery v mistech, kde je zalomeny radek, protoze tam ty mezery skutecne jsou. Asi bych doporucil spis nejake uz hotove udelatko pro praci s XML, tohle uz je vazne pakarna.
    26.9.2007 19:56 pupu | skóre: 30
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    No, neda mi to ;-) Pokud by se nelibily mezery, jeste muzete pridat jedno s/\ \ +/\ /g; - pokud jsou v tom souboru tedy opravdu jen mezery a ne treba tabulatory.
    26.9.2007 19:02 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud nechcete podnkita dobrodružství ohledně toho, jak se tagy zrovna zalomí, nepoužívejte regulární výrazy, ale udělejte z toho normální XML (tj. zabalte to celé např do <data>…</data>) a použijte XPath. Takže třeba libovolný xslt procesor a použijte následující transformaci:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="text"/>
    	<xsl:template match="option">
    INSERT INTO #__tabulka SET id=<xsl:value-of select="@value"/>, name='<xsl:value-of select="."/>';
    	</xsl:template>
    </xsl:stylesheet>
    
    Pokud přidáte k datovému souboru instrukci pro zpracování, zobrazí vám výsledek i každý lepší webový prohlížeč.
    <?xml version="1.0 ?>
    <?xml-stylesheet type="text/xml" href="template.xsl" ?>
    <data>
    	<option value="152">Abertamy</option>
    	…
    </data>
    
    26.9.2007 19:33 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    A jde nějak pomocí toho zajistit, aby se odstranily zalomená řádků? Když je v tom souboru např.:
    Benešov nad 
                              Černou
    
    tak aby se z toho stalo
    Benešov nad Černou
    26.9.2007 19:56 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Zkuste místo <xsl:value-of select="."/> použít
    <xsl:value-of select="normalize-space(.)"/>
    
    případně
    <xsl:value-of select="normalize-space(translate(.,'&#10;&#13;','  '))"/>
    
    26.9.2007 20:11 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Super, díky, funguje;-);-)
    26.9.2007 19:48 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud toužíte po reg. výrazech, tak velmi zhruba nástin v Javě:
    Pattern p = Pattern.compile("<option value=\"([1-9][0-9]*)\">(.*?)</option>", Pattern.DOTALL);
    Matcher m = p.matcher(...data...);
    while(m.find()) System.println("INSERT INTO #__tablulka SET id=" + m.group(1) + ", name=" + m.group(2));
    ale osobně bych šel do té transformace :)

    Založit nové vláknoNahoru

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

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