⊗pyPmREChS 40 of 129 menu

Zeichensätze in regulären Ausdrücken von Python

Die Zeichengruppen \d und \w sind nicht sehr flexibel. Selbst eine so einfache Aufgabe wie alle Buchstaben, aber keine Ziffern finden - kann von ihnen nicht gelöst werden. Für solche Aufgaben sollten eckige Klammern verwendet werden, die die Operation 'oder' darstellen.

Eckige Klammern ersetzen ein Zeichen, eines der darin aufgeführten. Zum Beispiel so: x[abc]x - wir sagen, dass an den Rändern die Buchstaben 'x' stehen müssen, und innen - ein Zeichen: entweder 'a', oder 'b', oder 'c'.

Nach eckigen Klammern können Wiederholungsoperatoren geschrieben werden. Zum Beispiel so: x[abc]+x - wir sagen, dass innerhalb der 'x' eine beliebige Anzahl von Zeichen 'a', 'b' und 'c' - in beliebigen Kombinationen stehen kann.

Man kann nicht nur Zeichen auflisten, sondern auch Zeichengruppen erstellen, indem man zwischen zwei Zeichen einen Bindestrich schreibt. Zum Beispiel so: [a-d] - wir erhalten alle Zeichen von 'a' bis 'd'.

Schauen wir uns Beispiele an.

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'a' bis 'z':

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

Ergebnis der Codeausführung:

'! ! ! x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'a' bis 'k':

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

Ergebnis der Codeausführung:

'! ! xmx x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'A' bis 'Z':

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

Ergebnis der Codeausführung:

'xax ! xcx x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' eine beliebige Ziffer von 0 bis 9:

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

Ergebnis der Codeausführung:

'xax ! ! ! x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' eine beliebige Ziffer von 3 bis 7:

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

Ergebnis der Codeausführung:

'xax x1x ! ! x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'a' bis 'z' oder eine Ziffer von 1 bis 9:

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

Ergebnis der Codeausführung:

'! ! ! ! x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'a' bis 'z' oder ein Buchstabe von 'A' bis 'Z':

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

Ergebnis der Codeausführung:

'! ! ! x5x x@x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' ein beliebiger Buchstabe von 'a' bis 'z' oder die Ziffern 1, 2:

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

Ergebnis der Codeausführung:

'! ! ! ! x3x'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: zwischen 'x' Buchstaben von 'a' bis 'z' in einer Anzahl von 1 und mehr:

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

Ergebnis der Codeausführung:

'xx ! ! ! x123x xa3x'

Beispiel

Lassen Sie uns bewirken, dass die Anzahl der Buchstaben auch Null sein kann:

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

Als Ergebnis erhalten wir:

'! ! ! ! x123x xa3x'

Beispiel

Innerhalb der eckigen Klammern können auch escapete Zeichen angegeben werden. Lassen Sie uns Folgen von Buchstaben und Ziffern finden, die sich null oder mehr Mal wiederholen:

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

Ergebnis der Codeausführung:

'! x@x ! ! !'

Beispiel

Wenn wir noch weitere eckige Klammern angeben müssen, müssen auch diese zwingend escaped werden:

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

Ergebnis der Codeausführung:

'! ! ! x3x'

Praktische Aufgaben

Gegeben ist ein String:

txt = 'aba aea aca aza axa'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - der Buchstabe 'b', 'e' oder 'x'.

Gegeben ist ein String:

txt = 'a1a a3a a7a a9a aba'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - eine Ziffer von 3 bis 6.

Gegeben ist ein String:

txt = 'aba aea afa aha aga'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - ein Buchstabe von 'a' bis 'g'.

Gegeben ist ein String:

txt = 'aba aea afa aha aga'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - ein Buchstabe von 'a' bis 'f' und von 'j' bis 'z'.

Gegeben ist ein String:

txt = 'aAa aea aEa aJa a3a'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - ein Buchstabe von 'a' bis 'f' und von 'A' bis 'D'.

Gegeben ist ein String:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - kleine lateinische Buchstaben, ohne die anderen zu berühren.

Gegeben ist ein String:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - kleine und große lateinische Buchstaben, ohne die anderen zu berühren.

Gegeben ist ein String:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Schreiben Sie einen regulären Ausdruck, der nach folgendem Muster sucht: an den Rändern stehen die Buchstaben 'a', und dazwischen - kleine lateinische Buchstaben und Ziffern, ohne die anderen zu berühren.

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