Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce
… více »Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.
BarraCUDA je neoficiální open-source CUDA kompilátor, ale pro grafické karty AMD (CUDA je proprietární technologie společnosti NVIDIA). BarraCUDA dokáže přeložit zdrojové *.cu soubory (prakticky C/C++) přímo do strojového kódu mikroarchitektury GFX11 a vytvořit tak ELF *.hsaco binární soubory, spustitelné na grafické kartě AMD. Zdrojový kód (převážně C99) je k dispozici na GitHubu, pod licencí Apache-2.0.
Zdravím,
potřeboval bych poradit s regulárním výrazem v Pythonu (mám verzi 2.5), který by podle mne měl být velmi snadný, přesto se mi však stále nedaří, aby fungoval tak, jak chci.
Konkrétně potřebuji, abych v řetězci našel takovou sekvenci znaků, která najde v řetěci číslo, ovšem s podmínkou, že před číslem nesmí být sekvence znaků "log" a za číslem nesmí být znak ".".
Pro lepší pochopení problému to bude sloužit k nahrazení nalezeného čísla za číslo ve tvaru float, teda za nalezené číslo přidám ".0". Výjimky jsou zřejmé: nechci nahradit "log10" za "log10.0" a nechci nahradit číslo, které již ve tvaru float je. Nahrazování hodím do cyklu a tím se postupně nahradí všechna int čísla.
Já bych to úplně chápal takto, ovšem Python ne :)
import re
str = 'retezec 246 obsahujici 4564 cisla a vyjimky: log10 5.2'
p = re.compile("^(log)([0-9]+)(^.)")
print re.match(p, str)
n=re.match(p, str)
if n: print n.group(1)
Mimochodem je jasné, že v tomto pokusném zdrojáku nemám cyklus, a proto dojde jen k nalezení první odpovídající sekvence znaků.
Mnohokrát děkuji za pomoc.
(?<=log)[0-9]+(?=\.)
Moc díky, funguje to zatím nejlíp ze všech mých pokusů... :)
Ale narazil jsem na tři problémy, popsané v komentářích. Jsem fakt amatér v regulárních výrazech (ale než jsem se zde zeptal, studoval jsem samozřejmě manuál, ale např. to "?<=" jsem v něm vůbec nenašel), tak nevím, jestli to jimi vůbec jde (ty tři problémy), nebo si s tím budu muset pohrát pomocí podmínek. Díky moc, věřím, že zkušeným to zabere jen pár vteřin...
(mimochodem, už chápu, proč jsi napsal = místo !, já taky musel...)
import re
str = 'nejake znaky 6.0 '
p = re.compile("(?<=log)([0-9]+)(?=\.)")
print re.search(p, str)
n=re.search(p, str)
if n: print n.group(1)
#pokud je tam 246.0 najde 24, pokud je tam napr. log123, najde 23, potreboval bych, aby ignoroval cele cislo
#jeste problem: najde cislo/cisla za znakem "."
(?<!log)((?<=\D)|\b)(\d+) (dúfam, že to python pozná, používam perl)(?<!\.)
(?<!log)(?<!\d)(?<!\d\.)(\d+) (dnes už naposledy)
Ještě pořád to dělá 2 věci, které si nepřeji:
pokud je tam 12.345, najde 1
pokud je tam 1.2345, nejde 2345
Jinak mnohokrát děkuji, na tyto dvě chyby bych už možná přišel sám, ale kdyby ne, tak by už tento dotaz nebyl aktuální a byl by považován za vyřešený (což jsem zrušil). Děkuji za pochopení ;)
A já bych potřeboval, aby to v těchto případech nenašlo nic. (pro jistotu doplňuji...)
str = 'retezec 246 obsahujici 4564 cisla a vyjimky: log10 5.2' # cokoliv
p = re.compile('(?<!log)(?<!\.)(?<!\d)\d+(?!\d)(?!\.)') # osetrit vsechny pripady
n = p.findall(str)
if n:
for fixn in n:
…
Dále viz re.sub .
Mnohokrát Ti děkuji! Fakt jo, vyřešil jsi můj problém, se kterým už jsem se vážně dlouho trápil a nikdo mi nedokázal pomoci. Funguje to přesně tak, jak jsem chtěl. Jen bych byl ještě moc vděčný za slovní popis toho regulárního výrazu, abych to dokonale pochopil a příště se nemusel ptát... ;)
Jinak tady je ten prográmek, kvůli kterému jsem to potřeboval:
retez=raw_input("Zadej retezec: ")
import re
import string
reg = re.compile("(?<!log)(?<!\.)(?<!\d)(\d+)(?!\d)(?!\.)")
while reg.search(retez):
x = reg.search(retez)
nalez = str(x.group(1))
novy=nalez+".0"
retez=string.replace(retez, nalez, novy, 1)
print retez
Ještě jednou díky :)
Ve zkratce jde o to, že ta sekvence čísel nejen nesmí následovat za "log" a předcházet tečce, ale zároveň nesmí předcházet a následovat jakékoliv číslici a i následovat tečce, jinak dostaneš fragmenty, které zjevně odpovídají té úvodní podmínce.
Tiskni
Sdílej: