search-metodi Pythonin säännöllisissä lausekkeissa
Edellisissä oppitunneissa opimme säännöllisiä lausekkeita etsimiseen ja korvaamiseen tarkoitetulla metodilla. On olemassa myös muita menetelmiä. Tässä oppitunnissa alamme opiskella niitä.
Uusi metodi, jota opimme, on nimeltään
search. Se etsii ensimmäistä säännöllisen lausekkeen
vastausta merkkijonossa. Metodin ensimmäisessä parametrissa
tulee määrittää etsittävä säännöllinen lauseke, toisessa parametrissa - merkkijono,
josta sitä etsitään. Metodi tarkistaa vastaavuudet
kulkemalla merkkijonoa vasemmalta oikealle.
Metodi palauttaa tuloksenaan erikoisen match-olion, joka sisältää tietoa löydetystä osamerkkijonosta ja sen sijainnista alkuperäisessä merkkijonossa.
Kokeillaan käytännössä. Etsitään
ensimmäinen numerosisältöinen osamerkkijono search-metodilla
search:
txt = 'aaa 123 bbb 456'
res = re.search('\d+', txt)
Etsitään ensimmäinen numerosisältöinen osamerkkijono
search-metodilla search:
print(res) # tässä on match-olio
Ja nyt tulostetaan löydetty teksti. Se päätyy match-olion nollanteen elementtiin:
print(res[0]) # tulostaa '123'
Annettu merkkijono:
txt = '123 abc 456 cde'
Etsi ensimmäinen osamerkkijono, joka sisältää vain aakkosellisia merkkejä. Tulosta se konsoliin.
Annettu merkkijono:
txt = '1 23 456 789'
Etsi ensimmäisen kolminumeroisen luvun sijainti (alkukohta).