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 21:55 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

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

    Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.

    Fluttershy, yay! | Komentářů: 0
    včera 13:44 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Bezpečnostní upozornění

    V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.

    Ladislav Hagara | Komentářů: 0
    včera 08:00 | IT novinky

    I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023

    Ladislav Hagara | Komentářů: 0
    včera 07:00 | Nová verze

    Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    30.11. 21:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    30.11. 16:22 | Nová verze

    Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.11. 16:11 | Nová verze

    Byla vydána nová stabilní verze 23.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Tapir. 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
    30.11. 14:11 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) upozorňuje na hrozbu spojenou s používáním mobilní aplikace WeChat a její čínské verze Weixin (dále jen WeChat). Ta sbírá velký objem uživatelských dat, a právě to by – v kombinaci se způsobem jejich sběru – mohlo sloužit k přesnému zacílení kybernetických útoků.

    Ladislav Hagara | Komentářů: 1
     (17%)
     (17%)
     (67%)
    Celkem 6 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: Rozdělení textu, pomoc s regulárním výrazem.

    Martin Stiborský avatar 11.11.2009 19:25 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozdělení textu, pomoc s regulárním výrazem.
    Přečteno: 239×

    Ahoj.

    Mám textový řetězec, ze kterého potřebuji vytáhnout jeho části podle určitého vzoru, bohužel je více možností, jak ten řetězec může vypadat.

    Varianty jsou:

    • :: První část :: Druhá část
    • :: Jenom jedna část
    • Nebo jen kus textu bez teček
    Druhá část tedy být může a nemusí, jistota je, že tam bude kus textu, který může a nemusí být uvozen tečkami.
    No a já potřebuji získat odděleně ty dvě části, pokud jsou dvě, jinak vybrat jenom tu jednu.
    Celé to provádím v Pythonu, je to součást Qt programu. Zkoušel jsem to přes split(). Split z Qt knihovny má fajn příznak "SkipEmptyParts", takže toto:

    QtCore.QString(":: První část :: Druhá část").split("::", QtCore.QString.SkipEmptyParts)

     

    Mi vrátí přesně ty dvě části. Takže kdybych vymyslel jak ošetřit výjimku ValueError při neexistenci druhé části při volání tohoto:

     

    prvniCast, druhaCast = text.split("::", QtCore.QString.SkipEmptyParts)

     

    Tak by se mi to líbilo :) Když druhá část neexistuje, potřeboval bych té proměnné přiřadit "None", to by bylo ideální.

    No a nebo můžu použít regulární výraz, nevím který postup bude lepší. Mám tu jeden, který jsem před nějakou dobou asi stvořil, ale mám ho neokomentovaný, takže nemám šajn jak to funguje (no, možná zlehka tuším :) ) , jako obvykle když se trápím s regexpy.

     

    re.compile(r"(?P<name>^::\w[^::]+)?(?P<text>.*)", re.UNICODE)

     

    Jak by jste to řešili vy prosím ?

    Děkuji za pomoc.

    Kvík ..

    Odpovědi

    11.11.2009 20:59 l4m4
    Rozbalit Rozbalit vše Re: Rozdělení textu, pomoc s regulárním výrazem.
    [x for x in s.split('::') if x]
    je senzam neprázdných částí.

    Pak snad stačí append(None) nebo insert(0, None) (nepochopil jsem, kde chceš to None mít), je-li délka senzamu jen 1.
    Přemek Vyhnal avatar 12.11.2009 23:02 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    Rozbalit Rozbalit vše Re: Rozdělení textu, pomoc s regulárním výrazem.
    v pythonu nevim, ale match regexem treba nejak takhle?
    m/(::\s*)?([^:]*)((::\s*)?(.*))?/
    a bude to v $2, prip. druhy v $5
    NO RAPTORS!

    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.