Gyakorlat2
A MathWikiből
(Változatok közti eltérés)
42. sor: | 42. sor: | ||
A kis ovalis 06sa-344-7654 terem, ahol 0643-43-65443 talalkoztak, szokasosan rezfalu es "kembiztos" volt. | A kis ovalis 06sa-344-7654 terem, ahol 0643-43-65443 talalkoztak, szokasosan rezfalu es "kembiztos" volt. | ||
− | * Írj reguláris kifejezést, ami e-mail címekre illeszkedik. | + | * Írj reguláris kifejezést, ami e-mail címekre illeszkedik. Azt nem kell ellenõriznie, hogy valós cím lehet-e, viszont azt ellenõrizzük, hogy a karakterek érvényesek legyenek, azaz vagy betû vagy szám, és az utolsó részben (ahol a .hu, meg .com stb van) ne lehessen szám. |
Ez legalabb@visszajelzes.volt. | Ez legalabb@visszajelzes.volt. | ||
− | Scytale megfelelokepp@valaszolt, de@feszulten.figyelt kozben. | + | Scytale megfelelokepp@valaszolt.86, de@feszulten.figyelt kozben. |
Nem tetszett.neki a@helyzet. @A.e haz@egy.zsakutca vegeben allt. | Nem tetszett.neki a@helyzet. @A.e haz@egy.zsakutca vegeben allt. | ||
+ | |||
+ | * Írj python scriptet, ami egy sorban kicseréli az összes elõfordulását a 42-nek vagy betûvel írt "negyvenketto"-nek vagy "negyvenket"-nek, 23-ra. | ||
+ | Volt egyszer 42 kiskutya, elmentek negyvenket vasarba, ott talalkoztak 43 farkassal, akiknek volt negyvenket hazikojuk, es negyvenket kiskutyajuk. | ||
+ | |||
+ | === Hosszabbak === | ||
+ | |||
+ | * Írj python scriptet ami |
A lap 2012. szeptember 13., 00:24-kori változata
Tartalomjegyzék |
Bevezetés
- Ami mindenképpen kelleni fog a python file-od elejére:
import re
- A függvények amiket használni fogunk a keresésre / átírásra:
re.search("pattern", "string") re.match("pattern", "string") re.findall("pattern", "string") re.sub("pattern", "replace", "string")
- Ezek egy match objektumot adnak vissza, feltéve hogy a match változóba mentjük, akkor a kövektezõ metódusok használhatók rajta:
match = re.search("i.a", "cica cila") match.group() match.group(0) match.string
- Ez egy hasznos függvény lehet a próbálgatáshoz:
def show_match(string, pattern): match = re.search(pattern, string) if match: return string[:match.start()] + "<<" + string[match.start():match.end()] + ">>" + string[match.end():] else: return "no match"
- További emlékeztetés a következõ file-ban: regexp.txt vagy az elsõ elõadáson: Elõadás1
Feladatok
Pár sorosak
Ezeknél a feladatoknál elég a show_match függvényt használni, de nem kötelezõ. A példa bemenetek soronként értendõk, nem mint egy bemenet.
- Írj egy reguláris kifejezést, ami illeszkedik bármilyen számra, legyen az egész, tizedestört, vagy két szám hányadosaként felírt racionális! (Mindig az elsõ számot találja meg a sorban.)
A bosi zsilip 22547645 hibaja miatt akadozik a budapesti hajokozlekedes 546.433 eve nem oltek amerikai nagykovetet Atadjuk a 65/87 nuklearis tudasunkat Vietnamnak Monda Lajos 65 a nagy 546.34 kiraly
- Írj reguláris kifejezést ami illeszkedik telefonszámokra, amik a következõ formátumban vannak: 06##-###-####
Egy Liga nem-hajo semleges teruleten voltak, ami mellett 0623-434-5432 Bene Gesserit- es Tleilax-monitorhajok gyulekeztek, mint ragadozo madarak a zsakmany korul. A Liga 0532-323-4344 meghunyaszkodva igyekezett 06-23-545-5432 megbekiteni a Bene Gesseritet. A kis ovalis 06sa-344-7654 terem, ahol 0643-43-65443 talalkoztak, szokasosan rezfalu es "kembiztos" volt.
- Írj reguláris kifejezést, ami e-mail címekre illeszkedik. Azt nem kell ellenõriznie, hogy valós cím lehet-e, viszont azt ellenõrizzük, hogy a karakterek érvényesek legyenek, azaz vagy betû vagy szám, és az utolsó részben (ahol a .hu, meg .com stb van) ne lehessen szám.
Ez legalabb@visszajelzes.volt. Scytale megfelelokepp@valaszolt.86, de@feszulten.figyelt kozben. Nem tetszett.neki a@helyzet. @A.e haz@egy.zsakutca vegeben allt.
- Írj python scriptet, ami egy sorban kicseréli az összes elõfordulását a 42-nek vagy betûvel írt "negyvenketto"-nek vagy "negyvenket"-nek, 23-ra.
Volt egyszer 42 kiskutya, elmentek negyvenket vasarba, ott talalkoztak 43 farkassal, akiknek volt negyvenket hazikojuk, es negyvenket kiskutyajuk.
Hosszabbak
- Írj python scriptet ami