⊗pyPmREInr 33 of 129 menu

Introductie tot reguliere expressies in Python

Reguliere expressies zijn commando's voor complex zoeken en vervangen (of gewoon zoeken). Ze maken heel interessante dingen mogelijk, maar zijn helaas nogal moeilijk onder de knie te krijgen.

Om te beginnen met reguliere expressies in Python, moeten we een speciale module re importeren:

import re

De module re bevat methodes bedoeld voor het werken met reguliere expressies. Een reguliere expressie is een reeks commando's en bestaat uit twee soorten symbolen: degenen die zichzelf vertegenwoordigen en de commando-symbolen, die speciale tekens worden genoemd.

Kennis maken met reguliere expressies kan het beste aan de hand van de methode sub, die wordt gebruikt voor vervangingen in een string. De eerste parameter van de methode is wat vervangen moet worden, de tweede - door wat. In de derde parameter geven we de string op waarin de vervanging moet plaatsvinden. In de vierde optionele parameter stellen we het aantal vervangingen in. De eenvoudigste vervanging met deze methode ziet er zo uit:

res = re.sub('a', '!', 'bab') print(res) # geeft 'b!b' weer

Zoals je hebt gemerkt, staan letters in een reguliere expressie voor zichzelf. Hetzelfde geldt voor cijfers. Laten we het cijfer 2 vervangen door !:

res = re.sub('2', '!', '12abc3') print(res) # geeft '1!abc3' weer

Maar een punt is een speciaal teken en staat voor elk willekeurig teken. In het volgende voorbeeld gaan we een substring zoeken volgens dit patroon: letter 'x', dan een willekeurig teken, dan weer letter 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # geeft '! eee' weer

Gegeven een string:

txt = 'ahb acb aeb aeeb adcb axeb'

Schrijf een reguliere expressie die de strings 'ahb', 'acb', 'aeb' vindt volgens het patroon: letter 'a', een willekeurig teken, letter 'b'.

Gegeven een string:

txt = 'aba aca aea abba adca abea'

Schrijf een reguliere expressie die de strings 'abba', 'adca', 'abea' vindt volgens het patroon: letter 'a', 2 willekeurige tekens, letter 'a'.

Gegeven een string:

txt = 'aba aca aea abba adca abea'

Schrijf een reguliere expressie die de strings 'abba' en 'abea' vindt, zonder 'adca' te vangen.

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