⊗pyPmRECB 37 of 129 menu

Geschweifte Klammern in regulären Ausdrücken von Python

Die Operatoren '+', '*', '?' sind gut, jedoch kann mit ihnen nicht eine konkrete Anzahl von Wiederholungen angegeben werden. In diesem Fall wird dir der Operator {} helfen.

Er funktioniert wie folgt: {5} - fünf Wiederholungen, {2,5} – wird zweimal bis fünfmal wiederholt (beide inklusive), {2,} - wird zweimal oder öfter wiederholt. Sieh dir die Beispiele an:

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' ein- oder zweimal, Buchstabe 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{1,2}x', '!', txt) print(res)

Ergebnis der Codeausführung:

'xx ! ! xaaax'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' zweimal oder öfter, Buchstabe 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{2,}x', '!', txt) print(res)

Ergebnis der Codeausführung:

'xx xax ! !'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' dreimal, Buchstabe 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{3}x', '!', txt) print(res)

Ergebnis der Codeausführung:

'xx xax xaax !'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'a' zehnmal:

txt = 'aaa aaaaaaaaaa aaa' res = re.sub('a{10}', '!', txt) print(res)

Ergebnis der Codeausführung:

'aaa ! aaa'

Beispiel

In diesem Beispiel gibt es ein solches Muster: Buchstabe 'x', Buchstabe 'a' dreimal oder weniger, Buchstabe 'x'. Um dies zu realisieren, kann vor der Zahl 3 keine Zahl angegeben werden, sondern einfach ein Komma gesetzt werden:

txt = 'xx xax xaax xaaax' res = re.sub('xa{,3}x', '!', txt) print(res)

Ergebnis der Codeausführung:

'! ! ! !'

Beispiel

Eine Null vor 3 ist ebenfalls erlaubt:

txt = 'xx xax xaax xaaax' res = re.sub('xa{0,3}x', '!', txt) print(res)

Ergebnis der Codeausführung:

'! ! ! !'

Praktische Aufgaben

Gegeben ist ein String:

txt = 'aa aba abba abbba abbbba abbbbba'

Schreiben Sie einen regulären Ausdruck, der die Strings 'abba', 'abbba', 'abbbba' und nur diese findet.

Gegeben ist ein String:

txt = 'aa aba abba abbba abbbba abbbbba'

Schreiben Sie einen regulären Ausdruck, der Strings der Art 'aba' findet, in denen 'b' weniger als 3 Mal (inklusive) vorkommt.

Gegeben ist ein String:

txt = 'aa aba abba abbba abbbba abbbbba'

Schreiben Sie einen regulären Ausdruck, der Strings der Art 'aba' findet, in denen 'b' mehr als 4 Mal (inklusive) vorkommt.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen