⊗pyPmREChS 40 of 129 menu

Tekensets in reguliere expressies van Python

De tekenreeksen \d en \w zijn niet erg flexibel. Zelfs een eenvoudige taak als alle letters vinden, maar geen cijfers - kan niet door hen worden opgelost. Voor dergelijke taken moet je vierkante haken gebruiken, die een 'of'-bewerking vertegenwoordigen.

Vierkante haken vervangen één teken, elk van de binnen genoemde. Bij voorbeeld, zo: x[abc]x - zeggen we dat aan de randen de letters x moeten staan, en daartussen - één teken: ofwel 'a', ofwel 'b', ofwel 'c'.

Na vierkante haken kunnen herhalingsoperatoren worden geschreven. Bijvoorbeeld, zo: x[abc]+x - zeggen we dat tussen de x'en elk aantal tekens 'a', 'b' en 'c' - in elke combinatie - mag staan.

Je kunt niet alleen tekens opsommen, maar ook tekenreeksen maken door een koppelteken tussen twee tekens te plaatsen. Bijvoorbeeld, zo: [a-d] - krijgen we alle tekens van 'a' tot 'd'.

Laten we naar voorbeelden kijken.

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'a' tot 'z':

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

Uitvoerresultaat van de code:

'! ! ! x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'a' tot 'k':

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

Uitvoerresultaat van de code:

'! ! xmx x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'A' tot 'Z':

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

Uitvoerresultaat van de code:

'xax ! xcx x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurig cijfer van 0 tot 9:

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

Uitvoerresultaat van de code:

'xax ! ! ! x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurig cijfer van 3 tot 7:

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

Uitvoerresultaat van de code:

'xax x1x ! ! x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'a' tot 'z' of een cijfer van 1 tot 9:

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

Uitvoerresultaat van de code:

'! ! ! ! x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'a' tot 'z' of een letter van 'A' tot 'Z':

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

Uitvoerresultaat van de code:

'! ! ! x5x x@x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en een willekeurige letter van 'a' tot 'z' of de cijfers 1, 2:

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

Uitvoerresultaat van de code:

'! ! ! ! x3x'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: tussen de x'en letters van 'a' tot 'z' in een hoeveelheid van 1 of meer:

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

Uitvoerresultaat van de code:

'xx ! ! ! x123x xa3x'

Voorbeeld

Laten we het zo maken dat het aantal letters ook nul kan zijn:

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

Als resultaat krijgen we:

'! ! ! ! x123x xa3x'

Voorbeeld

Binnen vierkante haken kunnen ook geëscape tekens worden opgegeven. Laten we een reeks letters en cijfers vinden, die nul of meer keer wordt herhaald:

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

Uitvoerresultaat van de code:

'! x@x ! ! !'

Voorbeeld

Als we nog een set vierkante haken moeten opgeven, dan moeten we die ook zeker escapen:

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

Uitvoerresultaat van de code:

'! ! ! x3x'

Praktische taken

Gegeven een string:

txt = 'aba aea aca aza axa'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - de letter 'b', 'e' of 'x'.

Gegeven een string:

txt = 'a1a a3a a7a a9a aba'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - een cijfer van 3 tot 6.

Gegeven een string:

txt = 'aba aea afa aha aga'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - een letter van 'a' tot 'g'.

Gegeven een string:

txt = 'aba aea afa aha aga'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - een letter van 'a' tot 'f' en van 'j' tot 'z'.

Gegeven een string:

txt = 'aAa aea aEa aJa a3a'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - een letter van 'a' tot 'f' en van 'A' tot 'D'.

Gegeven een string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - kleine Latijnse letters, zonder de andere aan te tasten.

Gegeven een string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - kleine en hoofdletters, zonder de andere aan te tasten.

Gegeven een string:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schrijf een reguliere expressie die vindt volgens het volgende patroon: aan de randen staan de letters 'a', en daartussen - kleine Latijnse letters en cijfers, zonder de andere aan te tasten.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren