Article View: pl.comp.programming
Article #216866Re: elementarne pytania z pythona
From: Piotr Chamera
Date: Sat, 11 Apr 2020 09:33
Date: Sat, 11 Apr 2020 09:33
65 lines
3609 bytes
3609 bytes
W dniu 2020-04-11 o 11:16, fir pisze: > W dniu piątek, 10 kwietnia 2020 20:35:21 UTC+2 użytkownik fir napisał: >> W dniu piątek, 10 kwietnia 2020 19:33:33 UTC+2 użytkownik Piotr Chamera napisał: >>> W dniu 2020-04-10 o 12:59, fir pisze: >>>> ostatnio troche odpoczalem i mysle sobie by cos postudiowac moze rootkity moze opencl..ale stanelo jadnak na podstawah pythona ;C >>>> >>>> morugam bo jest to troche lamerskie ale z drugiej strony potrzebowalem napisac bota na nasz ircowy kanal >>>> >>>> nie znam jednak zupelnych podstaw na dwutygodniowe lektury podrecznikow troche szkoda mi czasu i moze tu bedzie szybciej >>>> >>>> mam test typu >>>> >>>> msg = "cytuj pnnn 1232" >>>> >>>> i potrzebuje dobrac sie do tej trzeciej liczby i pobrac jej wartosc, pod warunkiem ze pocztek stringa bedzie wlasnie "cytuj pnnn" z kolei jesli tam bedzie nic albo nie liczna tez chcialbym miec to zdetektowane >>>> >>>> jaki to kod? tnx >>> >>> Można użyć wyrażeń, regularnych (pisałem w pythonie 2.7, w 3.x powinno >>> być podobnie) >>> >>> import re >>> m = re.match(u"(cytuj pnnn )(\d+)", msg) >>> >>> jeśli nie dopasuje do wzorca m będzie None >>> jeśli dopasuje, to za pomocą group() można pobrać poszczególne części >>> dopasowania >>> >>> >>> m.group(0) >>> u'cytuj pnnn 1234' >>> >>> >>> m.group(1) >>> u'cytuj pnnn ' >>> >>> >>> m.group(2) >>> u'1234' >>> >>> >>> int(m.group(2)) >>> 1234 >> >> ok tnx zobacze troche pozniej, tez python 2.7 > > nie dziala ale poprawdzie to troche uproscilem konkretny string jest taki > > :fir!~pirc@vhost:freedom.freakz PRIVMSG #grunge :minion ogniem 222 > > > chodzi o to by ignorowal poczatek wymagal ":minion ogniem" i bral liczbe po tym > > ta liczba pozniej jest numerem lini z pliku tekstaowego ksiazki np "ogniem i mieczem" ktor moj bot minion zacytuje na kanal > > wie moze kolega? > > (wiem ze moglbym sie wczytac ale narazi enie mam sily i poszukuje prostej drogi poki nie skumuluje energii) > Warto przejrzeć przynajmniej dokumentację modułu wyrażeń regularnach. przy dopasowaniu wzorców tekstowych to bardzo dobre narządzie. >>> import re >>> msg = u":fir!~pirc@vhost:freedom.freakz PRIVMSG #grunge :minion ogniem 222" >>> m = re.match(u".*?(:minion ogniem )(\d+)", msg) >>> int(m.group(2)) 222
Technical Details
Message-ID:
<r6s2u1$a7q$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mailReferences:
<60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Piotr Chamera <piotr_chamera@poczta.onet.pl> Newsgroups: pl.comp.programming Subject: Re: elementarne pytania z pythona Date: Sat, 11 Apr 2020 11:33:53 +0200 Organization: A noiseless patient Spider Lines: 65 Message-ID: <r6s2u1$a7q$1@dont-email.me> References: <60d7e74e-19ff-4601-83d2-c42e01baa1f6@googlegroups.com> <r6qalc$b4t$1@dont-email.me> <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> Mime-Version: 1.0 Injection-Date: Sat, 11 Apr 2020 09:33:53 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="d8de2f4b772302e357395fe23ff3526a"; logging-data="10490"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/T1FcmqWu56GsDRw8ydf1f" User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 Cancel-Lock: sha1:KvEk3mJBkvAOYlQal4YMHkV5mDY= In-Reply-To: <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit