⊗pyPmREChS 40 of 129 menu

Karakterkészletek a Python reguláris kifejezéseiben

A \d és \w karaktercsoportok nem nagyon rugalmasak. Még egy ilyen egyszerű feladat, mint a minden betű megtalálása, de nem számjegy - sem oldható meg velük. Ilyen feladatokhoz szögletes zárójeleket kell használni, amelyek a 'vagy' műveletet jelentik.

A szögletes zárójelek egy karaktert helyettesítenek, bármelyiket, amely a zárójelben szerepel. Például így: x[abc]x - azt mondjuk, hogy a széleken x betűknek kell állniuk, és középen - egy karakter: vagy 'a', vagy 'b', vagy 'c'.

A szögletes zárójelek után írhatunk ismétlési operátorokat. Például így: x[abc]+x - azt mondjuk, hogy az x-ek között bármennyi 'a', 'b' és 'c' karakter lehet - bármilyen kombinációban.

Nem csak felsorolhatunk karaktereket, hanem karaktercsoportokat is létrehozhatunk, ha két karakter közé kötőjelet írunk. Például így: [a-d] - megkapjuk az összes karaktert 'a'-tól 'd'-ig.

Nézzünk példákat.

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'a'-tól 'z'-ig:

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

A kód végrehajtásának eredménye:

'! ! ! x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'a'-tól 'k'-ig:

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

A kód végrehajtásának eredménye:

'! ! xmx x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'A'-tól 'Z'-ig:

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

A kód végrehajtásának eredménye:

'xax ! xcx x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely számjegy 0-tól 9-ig:

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

A kód végrehajtásának eredménye:

'xax ! ! ! x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely számjegy 3-tól 7-ig:

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

A kód végrehajtásának eredménye:

'xax x1x ! ! x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'a'-tól 'z'-ig vagy számjegy 1-től 9-ig:

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

A kód végrehajtásának eredménye:

'! ! ! ! x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'a'-tól 'z'-ig vagy betű 'A'-tól 'Z'-ig:

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

A kód végrehajtásának eredménye:

'! ! ! x5x x@x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között bármely betű 'a'-tól 'z'-ig vagy 1, 2 számjegyek:

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

A kód végrehajtásának eredménye:

'! ! ! ! x3x'

Példa

Ebben a példában a keresési minta így néz ki: az x-ek között 'a'-tól 'z'-ig terjedő betűk 1 vagy több mennyiségben:

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

A kód végrehajtásának eredménye:

'xx ! ! ! x123x xa3x'

Példa

Tegyük meg, hogy a betűk száma lehet nulla is:

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

Ennek eredményeként ezt kapjuk:

'! ! ! ! x123x xa3x'

Példa

A szögletes zárójelek között escape-elt karakterek is megadhatók. Keressük meg a betűk és számjegyek nullával vagy többel ismétlődő sorozatát:

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

A kód végrehajtásának eredménye:

'! x@x ! ! !'

Példa

Ha további szögletes zárójeleket kell megadnunk, akkor azokat is mindenképpen escape-eljük:

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

A kód végrehajtásának eredménye:

'! ! ! x3x'

Gyakorlati feladatok

Adott egy sztring:

txt = 'aba aea aca aza axa'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - 'b', 'e' vagy 'x' betű.

Adott egy sztring:

txt = 'a1a a3a a7a a9a aba'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - 3-tól 6-ig terjedő számjegy.

Adott egy sztring:

txt = 'aba aea afa aha aga'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - 'a'-tól 'g'-ig terjedő betű.

Adott egy sztring:

txt = 'aba aea afa aha aga'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - 'a'-tól 'f'-ig és 'j'-tól 'z'-ig terjedő betű.

Adott egy sztring:

txt = 'aAa aea aEa aJa a3a'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - 'a'-tól 'f'-ig és 'A'-tól 'D'-ig terjedő betű.

Adott egy sztring:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - kis latin betűk, anélkül, hogy érintenénk a többit.

Adott egy sztring:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - kis és nagy latin betűk, anélkül, hogy érintenénk a többit.

Adott egy sztring:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Írj reguláris kifejezést a következő minta szerint: a széleken 'a' betűk állnak, és közöttük - kis latin betűk és számjegyek, anélkül, hogy érintenénk a többit.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás