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í
×
    dnes 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 7
    dnes 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    dnes 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 1
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

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

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

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

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    včera 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 1
    včera 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: regex - deset skupin pro nahrazení

    Marián Kyral avatar 20.12.2011 09:32 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    regex - deset skupin pro nahrazení
    Přečteno: 218×
    Zdravím, narazil jsem na zajímavý problém a momentálně si s ním nevím rady.

    V kate mám následující regexp:
    ([0-9]+) +([^0-9]+) +([0-9]+) +([^0-9]+) +([0-9 ]+) +([^0-9]+) +([0-9]+) +([^0-9]+) +([0-9]+) +([^0-9]+)
    Je tam deset skupin, ovšem při nahrazování můžu použít maximálně devět \1 - \9 Marně přemýšlím nad tím, jak tam dostat i tu poslední skupinu. V jednom běhu to nepůjde, takže jediná možnost je to nějak rozdělit na dva kroky.

    Odpovědi

    20.12.2011 10:06 NeoV | skóre: 23
    Rozbalit Rozbalit vše Re: regex - deset skupin pro nahrazení
    Velmi by pomohlo keby si napisal o aky jazyk sa jedna.

    Prip. nejaky kus kodu v ktorom si to pouzil... resp. preco si nepouzil iba jedno '([0-9]+)' v spojeni s prepinacom 'g'
    Marián Kyral avatar 20.12.2011 11:30 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: regex - deset skupin pro nahrazení
    Chtěl jsem si vygenerovat insert:
    1 ABC 2 BCD 3 CDE 4 DEF 5 EFG
    1 ABC 2 BCD 3 CDE 6 OPN 10 RST
    ...
    
    insert into XX (\1, '\2', \3, '\4', \5,, '\6', \7, '\8', \9, '\10!!!');
    
    Zatím jsem tam tu poslední skupinu dokopíroval ručně, ale v budoucnu by se to mohlo hodit. Kdysi dávno jsem podobné věci řešil pomocí csv souboru a shell skriptu. Jen jsem ho musel pokaždé upravovat. Možná je čas na nějaký obecnější skript - parametry budou csv soubor a šablona s pozičními parametry.
    20.12.2011 11:46 CET
    Rozbalit Rozbalit vše Re: regex - deset skupin pro nahrazení
    No ja nevim, tohle je mozna lepsi zpracovat nejakym skriptem. To nahrazovani pomoci regexp v Kate je spis mysleno asi pro editaci a ne zpracovani dat.

    Zalezelo by na tom, jaky je skutecny format radky a co s tim chces nakonec udelat. Pokud jsou to opravdu jenom cisla a necisla oddelena mezerou, tak staci perl perl -aF'/\s+/' -ne 'print sprintf("insert into XXX ("."%s,\"%s\"," x 5 . ");",@F);' pokud by to byl slozitejsi format, tak jiny perl perl -ne '@F=/([0-9]+) +([^0-9]+) +([0-9]+) +([^0-9]+) +([0-9 ]+) +([^0-9]+) +([0-9]+) +([^0-9]+) +([0-9]+) +([^0-9]+)/;print sprintf("insert into XXX ("."%s,\"%s\"," x 5 . ");",@F);'

    Jinak, rekl bych, ze v 5.zavorce mas navic v seznamu znaku mezeru ... aspon takhle by se ti mezera zapocitala do 5.zavorky a jedna mezera ne (jako oddelovac), pokud bys mel vic mezer. Ono to mozna funguje, pokud mas jednu mezeru, ale pri vice to nebude fungovat spravne (pokud to ma skutecne brat jenom cisla).

    Jinak ten tvuj problem bych bud zkusil resit primo importem do DB (mysql ma nejaky load data....) a nebo tim skriptem (treba i jenom tim perl filtrem).
    Marián Kyral avatar 20.12.2011 13:23 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: regex - deset skupin pro nahrazení
    Díky, ten perl vypadá zajímavě.

    O možnostech přímého importu vím, v Oracle je sqlloader ale v mém případě je to zbytečný overkil. Navíc ty inserty stejně potřebuji vygenerovat, ne všechna porstředí, kam to půjde, mají sqlloader správně nakonfigurovaný. Inserty jsou jistota. Předtím jsem to vždy dělal pomocí shell scriptu, pak jsem si zvykl na regexp v kate a tohle je poprvé, kdy jsem s nimi narazil. S něčím takovým se u regexp nepočítá :-)

    Jinak s tou mezerou máš pravdu, v další verzi jsem ji už odstranil.

    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.