⊗pyPmREInr 33 of 129 menu

Johdonatus Pythonin säännöllisiin lausekkeisiin

Säännölliset lausekkeet ovat komennot monimutkaista etsimistä ja korvaamista varten (tai pelkästään etsimistä). Ne mahdollistavat erittäin mielenkiintoisten asioiden tekemisen, mutta valitettavasti ne ovat melko vaikeita hallita.

Aloittaaksesi säännöllisten lausekkeiden kanssa työskentelyn Pythonissa, meidän on tuotava erikois moduuli re:

import re

Moduuli re sisältää menetelmiä, jotka on tarkoitettu säännöllisten lausekkeiden käsittelyyn. Säännöllinen lauseke edustaa komentosarjaa ja koostuu kahden tyyppisistä merkeistä: niistä, jotka edustavat itseään, ja komennusmerkeistä, jotka ovat nimeltään erikoismerkit.

Paras tapa tutustua säännöllisiin lausekkeisiin on aloittaa esimerkillä menetelmästä sub, jota käytetään korvauksiin merkkijonossa. Ensimmäisenä parametrina menetelmä ottaa mitä korvata, toisena - millä korvata. Kolmannessa parametrissa ilmoitetaan merkkijono, jossa korvaus on tehtävä. Neljännessä valinnaisessa parametrissä asetetaan korvausten määrä. Yksinkertaisin korvaus tällä menetelmällä näyttää tältä:

res = re.sub('a', '!', 'bab') print(res) # tulostaa 'b!b'

Kuten huomasit, säännöllisessä lausekkeessa kirjaimet edustavat itseään. Sama pätee numeroihin. Korvataan numero 2 merkillä !:

res = re.sub('2', '!', '12abc3') print(res) # tulostaa '1!abc3'

Mutta piste on erikoismerkki ja se tarkoittaa mitä tahansa merkkiä. Seuraavassa esimerkissä etsitään merkkijono seuraavan muotin mukaan: kirjain 'x', sitten mikä tahansa merkki, sitten taas kirjain 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # tulostaa '! eee'

Annettu merkkijono:

txt = 'ahb acb aeb aeeb adcb axeb'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'ahb', 'acb', 'aeb' muotin mukaan: kirjain 'a', mikä tahansa merkki, kirjain 'b'.

Annettu merkkijono:

txt = 'aba aca aea abba adca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'abba', 'adca', 'abea' muotin mukaan: kirjain 'a', 2 mitä tahansa merkkiä, kirjain 'a'.

Annettu merkkijono:

txt = 'aba aca aea abba adca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'abba' ja 'abea', olematta sieppaamatta 'adca'.

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ää