⊗pyPmREHHy 47 of 129 menu

Koppelteken binne versamelings in Python gereelde uitdrukkings

Koppelteken is ook 'n spesiaale karakter binne [ ] (maar buite - nie). As jy die koppelteken self as 'n karakter nodig het - plaas dit dan waar dit nie as 'n groepskeerder beskou sal word nie.

Hoekom dit belangrik is: jy kan per ongeluk 'n groep karakters skep. Byvoorbeeld, so - '[:-@]' - dink jy jy kies 'n dubbelpunt, koppelteken en 'n apenstaartjie (at), maar eintlik kry jy 'n groep karakters tussen : en @. Hierdie groep sluit die volgende karakters in: ? < = > :

Waar kom hulle vandaan? Van die ASCII-tabel - die dubbelpunt het 'n laer nommer as die apenstaartjie (at) - en dit word 'n groep. Al groepe word gevorm volgens die ASCII-tabel (as jy wil, kan jy dit gebruik).

Hoe om dit te hanteer: plaas die koppelteken karakter waar dit definitief nie as 'n groepkarakter beskou sal word nie, byvoorbeeld aan die begin of aan die einde (dit wil sê, na [ of voor ]).

Jy kan ook die koppelteken ontsnap (escape) - dan sal dit homself verteenwoordig ongeag die posisie. Byvoorbeeld, in plaas van [:-@] skryf [:\-@] - en daar sal nie 'n groep wees nie, maar drie karakters - dubbelpunt, koppelteken en apenstaartjie @.

Voorbeeld

In die volgende voorbeeld is die soekpatroon soos volg: syfer 1, dan 'n letter van 'a' tot 'z', dan syfer 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a-z]2', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! 1-2 ! !'

Voorbeeld

Kom ons ontsnap nou die koppelteken. In die gevolg is die soekpatroon soos volg: syfer 1, dan letter 'a', of koppelteken, of letter 'z', dan syfer 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a\-z]2', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! ! 1c2 !'

Voorbeeld

Jy kan die koppelteken net herskik sonder om dit te ontsnap:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[az-]2', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! ! 1c2 !'

Voorbeeld

In die volgende voorbeeld is die soekpatroon soos volg: eerste karakter is klein letters of koppelteken '-', dan twee letters 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-z-]xx', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! Axx ! @xx'

Voorbeeld

In die volgende voorbeeld is die soekpatroon soos volg: eerste karakter is klein letters, hoofletters of koppelteken '-', dan twee letters 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-zA-Z-]xx', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! ! ! @xx'

Voorbeeld

Jy kan die koppelteken tussen twee groepe plaas - daar sal dit definitief nie nog 'n groep vorm nie:

txt = 'axx 9xx -xx @xx' res = re.sub('[a-z-0-9]xx', '!', txt) print(res)

Resultaat van die kode-uitvoering:

'! ! ! @xx'

Praktiese take

Gegewe string:

txt = 'xaz xBz xcz x-z x@z'

Vind al die strings volgens die volgende patroon: letter 'x', hoofletter of kleinletter of koppelteken, letter 'z'.

Gegewe string:

txt = 'xaz x$z x-z xcz x+z x%z x*z'

Vind al die strings volgens die volgende patroon: letter 'x', dan of dollarteken, of koppelteken of plusteken, dan letter 'z'.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp