Gyakorlat2

A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2012. szeptember 13., 00:10-kor történt szerkesztése után volt.

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"

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.)
Ez legalabb@visszajelzes.volt. 
Scytale megfelelokepp@valaszolt, de@feszulten.figyelt kozben.
Nem tetszett.neki a@helyzet. @A.e haz@egy.zsakutca vegeben allt.
Személyes eszközök