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 03:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | 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 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 0
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 13
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2501 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 465×

    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.