⊗pyPmRERO 34 of 129 menu

Merkkejä toistavat operaattorit

On tilanteita, joissa on tarpeen määrittää, että merkki toistuu tietyn määrän kertoja. Jos tarkka toistomäärä on tuntematon, voi sen kirjoittaa useita kertoja - 'aaaa'. Mutta mitä tehdä, jos on tarve sanoa seuraavaa: toista yksi tai useampi kerta?

Tätä varten on olemassa toisto-operaattorit (kvantifioijat): plus + (yksi tai useampi kerta), tähti * (nolla tai useampi kerta) ja kysymys ? (nolla tai yksi kerta). Nämä operaattorit vaikuttat siihen merkkiin, joka on niiden edessä.

Katsotaanpa näiden operaattoreiden toimintaa esimerkkien avulla.

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' yksi tai useampi kerta, kirjain 'x' mukaisesti:

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

Koodin suorituksen tulos:

'xx ! ! ! xbx'

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' nolla tai useampi kerta, kirjain 'x' mukaisesti:

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

Koodin suorituksen tulos:

'! ! ! ! xbx'

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' nolla tai yksi kerta, kirjain 'x' mukaisesti:

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

Koodin suorituksen tulos:

'! ! xaax xbx'

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

Annettu merkkijono:

txt = 'aa aba abba abbba abca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aba', 'abba', 'abbba' mallin mukaisesti: kirjain 'a', kirjain 'b' mielivaltainen määrä kertoja, kirjain 'a'.

Annettu merkkijono:

txt = 'aa aba abba abbba abca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba', 'abba', 'abbba' mallin mukaisesti: kirjain 'a', kirjain 'b' mielivaltainen määrä kertoja (mukaan lukien nolla kertaa), kirjain 'a'.

Annettu merkkijono:

txt = 'aa aba abba abbba abca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba' mallin mukaisesti: kirjain 'a', kirjain 'b' yksi kerta tai ei lainkaan, kirjain 'a'.

Annettu merkkijono:

txt = 'aa aba abba abbba abca abea'

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba', 'abba', 'abbba', olematta sieppaamatta 'abca' ja 'abea'.

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