Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.
Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).
Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.
Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.
Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.
Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.
Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.
Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.
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: