Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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