⊗pyPmREChG 39 of 129 menu

Karaktergroepe in Python se regulêre uitdrukkings

Daar is spesiale opdragte wat dit moontlik maak om heel groepe karakters gelyktydig te kies. Die opdrag \d beteken 'n syfer van 0 tot 9. Die opdrag \w verteenwoordig 'n syfer, 'n Latynse letter of 'n onderstreep-karakter. Die opdrag \s verteenwoordig 'n spasie of 'n spasiekarakter: spasie, reëlomskakeling, tab. Jy kan die waarde van die opdrag omkeer deur 'n hoofletter te gebruik: bv., as \d 'n syfer is, dan is \D nie 'n syfer nie.

Voorbeeld

Laat ons alle syfers vind:

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

Resultaat van die kode-uitvoering:

'! !! !!!'

Voorbeeld

Herhalingsoperatore beskou die groepsopdragte as een geheel, wat beteken groeperingshakies is nie nodig nie. In die volgende voorbeeld lyk die soekpatroon so: syfer van 0 tot 9 een of meer keer:

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

Resultaat van die kode-uitvoering:

'! ! ! abc @@@'

Voorbeeld

In die volgende voorbeeld lyk die soekpatroon so: enigiets een of meer keer, maar nie 'n syfer van 0 tot 9 nie:

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

Resultaat van die kode-uitvoering:

'123!3!'

Voorbeeld

In hierdie voorbeeld lyk die soekpatroon so: spasiekarakter een keer:

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

Resultaat van die kode-uitvoering:

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

Voorbeeld

In hierdie voorbeeld lyk die soekpatroon so: NIE 'n spasiekarakter een of meer keer. Alle substrings, geskei deur spasies, sal vervang word met '!':

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

Resultaat van die kode-uitvoering:

'! ! ! ! !'

Voorbeeld

In hierdie voorbeeld lyk die soekpatroon so: syfer of letter een of meer keer. Alle substrings wat uit syfers en letters bestaan, sal vervang word met '!':

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

Resultaat van die kode-uitvoering:

'! ! ! ! @@@'

Voorbeeld

In hierdie voorbeeld lyk die soekpatroon so: NIE 'n syfer en NIE 'n letter een of meer keer. Aan hierdie definisie voldoen in ons geval '@@@' en alle spasies (hulle is immers ook nie syfers of letters nie). Let daarop dat aan die einde een '!' is - daarin is die string ' @@@' omskep - met 'n spasie vooraan:

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

Resultaat van die kode-uitvoering:

'1!12!123!Abc!'

Praktiese take

Gegee 'n string:

txt = 'a1a a2a a3a a4a a5a aba aca'

Skryf 'n regulêre uitdrukking wat die strings sal vind, waarin aan die kante die letters 'a' staan, en tussen hulle een syfer.

Gegee 'n string:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Skryf 'n regulêre uitdrukking wat die strings sal vind, waarin aan die kante die letters 'a' staan, en tussen hulle enige hoeveelheid syfers.

Gegee 'n string:

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

Skryf 'n regulêre uitdrukking wat die strings sal vind, waarin aan die kante die letters 'a' staan, en tussen hulle enige hoeveelheid syfers (insluitend geen syfers nie, dit wil sê die string 'aa').

Gegee 'n string:

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

Skryf 'n regulêre uitdrukking wat die strings van die volgende vorm sal vind: aan die kante staan die letters 'a' en 'b', en tussen hulle - nie 'n getal en nie 'n spasie.

Gegee 'n string:

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

Skryf 'n regulêre uitdrukking wat die strings van die volgende vorm sal vind: aan die kante staan die letters 'a' en 'b', en tussen hulle - nie 'n letter, nie 'n syfer en nie 'n spasie.

Gegee 'n string:

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

Skryf 'n regulêre uitdrukking wat alle spasies sal vervang met '!'.

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