⊗pyPmREChS 40 of 129 menu

Teckenuppsättningar i reguljära uttryck i Python

Teckengrupperna \d och \w är inte särskilt flexibla. Även en så enkel uppgift som att hitta alla bokstäver, men inte siffror - kan inte lösas med dem. För sådana uppgifter bör hakparenteser användas, som representerar en 'eller'-operation.

Hakparenteser ersätter ett tecken, vilket som helst av de som anges inuti. Till exempel, så här: x[abc]x - vi säger att det vid kanterna ska finnas bokstäverna x, och inuti - ett tecken: antingen 'a', eller 'b', eller 'c'.

Efter hakparenteser kan upprepningsoperatorer skrivas. Till exempel, så här: x[abc]+x - vi säger att inuti x kan finnas vilket antal tecken som helst 'a', 'b' och 'c' - i vilka kombinationer som helst.

Man kan inte bara räkna upp tecken, utan också skapa teckengrupper genom att skriva ett bindestreck mellan två tecken. Till exempel, så här: [a-d] - vi får alla tecken från 'a' till 'd'.

Låt oss titta på exempel.

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'a' till 'z':

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Resultat av kodkörning:

'! ! ! x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'a' till 'k':

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Resultat av kodkörning:

'! ! xmx x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'A' till 'Z':

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Resultat av kodkörning:

'xax ! xcx x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken siffra som helst från 0 till 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Resultat av kodkörning:

'xax ! ! ! x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken siffra som helst från 3 till 7:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Resultat av kodkörning:

'xax x1x ! ! x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'a' till 'z' eller siffra från 1 till 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Resultat av kodkörning:

'! ! ! ! x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'a' till 'z' eller bokstav från 'A' till 'Z':

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Resultat av kodkörning:

'! ! ! x5x x@x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x vilken bokstav som helst från 'a' till 'z' eller siffrorna 1, 2:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Resultat av kodkörning:

'! ! ! ! x3x'

Exempel

I detta exempel ser sökmönstret ut så här: mellan x bokstäver från 'a' till 'z' i antal från 1 och fler:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Resultat av kodkörning:

'xx ! ! ! x123x xa3x'

Exempel

Låt oss se till att antalet bokstäver också kan vara noll:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

Som ett resultat kommer vi att få:

'! ! ! ! x123x xa3x'

Exempel

Inuti hakparenteser kan man också ange escapeade tecken. Låt oss hitta en sekvens av bokstäver och siffror, som upprepas noll eller fler gånger:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Resultat av kodkörning:

'! x@x ! ! !'

Exempel

Om vi också behöver ange ytterligare hakparenteser, måste vi också escapea dem:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Resultat av kodkörning:

'! ! ! x3x'

Praktiska uppgifter

Given en sträng:

txt = 'aba aea aca aza axa'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - bokstaven 'b', 'e' eller 'x'.

Given en sträng:

txt = 'a1a a3a a7a a9a aba'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - en siffra från 3 till 6.

Given en sträng:

txt = 'aba aea afa aha aga'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - en bokstav från 'a' till 'g'.

Given en sträng:

txt = 'aba aea afa aha aga'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - en bokstav från 'a' till 'f' och från 'j' till 'z'.

Given en sträng:

txt = 'aAa aea aEa aJa a3a'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - en bokstav från 'a' till 'f' och från 'A' till 'D'.

Given en sträng:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - små latinska bokstäver, utan att påverka de andra.

Given en sträng:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - små och stora latinska bokstäver, utan att påverka de andra.

Given en sträng:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Skriv ett reguljärt uttryck som hittar enligt följande mönster: vid kanterna står bokstäverna 'a', och mellan dem - små latinska bokstäver och siffror, utan att påverka de andra.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa