⊗pyPmREChG 39 of 129 menu

Merkkiryhmät Pythonin säännöllisissä lausekkeissa

On olemassa erikoiskomentoja, jotka mahdollistavat kokoisten merkkiryhmien valitsemisen kerralla. Komento \d tarkoittaa numeroa väliltä 0 - 9. Komento \w merkitsee numeroa, latinalaista kirjainta tai alaviivaa. Komento \s tarkoittaa välilyöntiä tai välilyöntimerkkiä: välilyönti, rivinvaihto, sarkain. Komentoa voi kääntää päinvastaiseksi kirjoittamalla ison kirjaimen: esimerkiksi, jos \d on numero, niin \D on ei-numero.

Esimerkki

Etsitään kaikki numerot:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Koodin suorituksen tulos:

'! !! !!!'

Esimerkki

Toistotoimittajat pitävät komentoryhmiä yhtenäisenä kokonaisuutena, eli ryhmitteleviä sulkuja ei tarvita. Seuraavassa esimerkissä hakumalli näyttää tältä: numero väliltä 0 - 9 yksi tai useampi kerta:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Koodin suorituksen tulos:

'! ! ! abc @@@'

Esimerkki

Seuraavassa esimerkissä hakumalli näyttää tältä: mitä tahansa yksi tai useampi kerta, mutta ei numero väliltä 0 - 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Koodin suorituksen tulos:

'123!3!'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: välilyöntimerkki yhden kerran:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Koodin suorituksen tulos:

'1!12!123!abc!@@@'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: EI välilyöntimerkki yksi tai useampi kerta. Kaikki välilyönneillä erotetut merkkijonot korvataan merkillä '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Koodin suorituksen tulos:

'! ! ! ! !'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: numero tai kirjain yksi tai useampi kerta. Kaikki numeroista ja kirjaimista koostuvat merkkijonot korvataan merkillä '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Koodin suorituksen tulos:

'! ! ! ! @@@'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: EI numero eikä kirjain yksi tai useampi kerta. Tähän määritelmään tapauksessamme kuuluvat '@@@' ja kaikki välilyönnit (ne eivät myöskään ole numeroita eivätkä kirjaimia). Huomaa, että lopussa on yksi '!' - siihen muuttui merkkijono ' @@@' - jossa on välilyönti edessä:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Koodin suorituksen tulos:

'1!12!123!Abc!'

Käytännön tehtävät

Annettu merkkijono:

txt = 'a1a a2a a3a a4a a5a aba aca'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on yksi numero.

Annettu merkkijono:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on mikä tahansa määrä numeroita.

Annettu merkkijono:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on mikä tahansa määrä numeroita (myös nolla numeroa, eli merkkijono 'aa').

Annettu merkkijono:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot seuraavanlaisia: reunoissa on kirjaimet 'a' ja 'b', ja niiden välissä - ei numero eikä välilyönti.

Annettu merkkijono:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot seuraavanlaisia: reunoissa on kirjaimet 'a' ja 'b', ja niiden välissä - ei kirjain, ei numero eikä välilyönti.

Annettu merkkijono:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Kirjoita säännöllinen lauseke, joka korvaa kaikki välilyönnit merkillä '!'.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää