Merkkijoukon kääntäminen säännöllisissä lausekkeissa
Hatulla '^'
hakasulkujen alussa voit kääntää
halutun. Jos esimerkiksi komento [ab]
etsii kirjaimen 'a' tai 'b', niin
komento [^ab] etsii kaikki
merkit paitsi 'a' ja 'b'.
Esimerkki
Tässä esimerkissä hakumalli näyttää
tältä: kirjain 'x', sitten EI kirjain
'a', ei 'b' eikä 'c',
sitten kirjain 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Koodin suorituksen tulos:
'xax xbx xcx !'
Esimerkki
Tässä esimerkissä hakumalli näyttää
tältä: kirjain 'x', sitten EI pieni
latinalainen kirjain, sitten kirjain 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Koodin suorituksen tulos:
'xaz xbz ! !'
Käytännön tehtävät
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
mallin mukaan: numero 1, sitten merkki
ei 'e' eikä 'x', numero
2.
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
mallin mukaan: kirjain 'x', sitten EI
numero väliltä 2 - 7, kirjain
'z'.
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
mallin mukaan: kirjain 'x', sitten EI
suuri latinalainen kirjain 1 kertaa tai useammin,
kirjain 'z'.
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
mallin mukaan: kirjain 'x', sitten EI
suuri tai pieni latinalainen kirjain eikä
numero väliltä 1 - 5 1
kertaa tai useammin, kirjain 'z'.