Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie reguläre Python-Ausdrücke für die Container-Orchestrierung

So verwenden Sie reguläre Python-Ausdrücke für die Container-Orchestrierung

PHPz
Freigeben: 2023-06-22 09:16:52
Original
1399 Leute haben es durchsucht

Bei der Container-Orchestrierung müssen wir häufig einige Informationen filtern, abgleichen und ersetzen. Python bietet reguläre Ausdrücke, ein leistungsstarkes Tool, das uns bei der Durchführung dieser Vorgänge helfen kann. In diesem Artikel wird die Verwendung regulärer Python-Ausdrücke für die Container-Orchestrierung vorgestellt, einschließlich Grundkenntnissen regulärer Ausdrücke, der Verwendung des Python-Re-Moduls und einiger gängiger regulärer Ausdrucksanwendungen.

1. Grundkenntnisse über reguläre Ausdrücke

Regulärer Ausdruck (regulärer Ausdruck) bezieht sich auf ein Textmuster, das zur Beschreibung der Struktur eines Zeichenfolgentyps verwendet wird. In Python können wir das re-Modul verwenden, um reguläre Ausdrücke zu verarbeiten. Reguläre Ausdrücke bestehen aus verschiedenen Zeichen, von denen einige spezielle Bedeutungen haben, wie folgt:

Entspricht jedem Zeichen außer Zeilenumbrüchen
^ Entspricht dem Anfang der Zeichenfolge.
$ Entspricht dem Ende der Zeichenfolge.

  • Entspricht dem Vorstehenden. Entspricht dem Vorstehenden Zeichen null oder mehrmals
  • Entspricht dem vorangehenden Zeichen einmal oder mehrmals
    ? Entspricht dem vorhergehenden Zeichen null oder einmal
    [] Entspricht einem beliebigen Zeichen in eckigen Klammern
    | Entspricht einem von

Zusätzlich zu Neben den oben genannten häufig verwendeten Sonderzeichen gibt es noch viele andere Sonderzeichen, die je nach Bedarf verwendet werden können.

2. So verwenden Sie das Python-Re-Modul

Pythons Re-Modul bietet eine Reihe von Funktionen zur Verwendung regulärer Ausdrücke. Unter diesen sind die häufigsten Funktionen re.findall(pattern, string) und re.sub(pattern, repl, string). Die Funktion

re.findall(pattern, string) wird verwendet, um alle Teilzeichenfolgen in einer Zeichenfolge zu finden, die dem regulären Ausdruck entsprechen, und eine Liste zurückzugeben. Wenn wir beispielsweise alle Zahlen in einer Zeichenfolge finden möchten, die mit einer geraden Zahl enden, können wir den folgenden Code verwenden:

import re
text = '123 456 7890 23 45 6'
pattern = r'd*[02468]'
result = re.findall(pattern, text)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

['456', '7890', '6']
Nach dem Login kopieren

re.sub(pattern, repl, string) wird verwendet um den regulären Ausdruck in der Zeichenfolge abzugleichen. Ersetzt die Teilzeichenfolge des Ausdrucks durch die angegebene Zeichenfolge und gibt die ersetzte Zeichenfolge zurück. Wenn wir beispielsweise alle Leerzeichen in der Zeichenfolge durch Bindestriche „-“ ersetzen möchten, können wir den folgenden Code verwenden:

import re
text = 'hello world'
pattern = r's'
repl = '-'
result = re.sub(pattern, repl, text)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

'hello-world'
Nach dem Login kopieren

3. Häufige Anwendungen für reguläre Ausdrücke

  1. Finden Sie den Containernamen

In Docker beginnen Containernamen oft mit „/“, wie zum Beispiel „/redis“. Wir können den folgenden regulären Ausdruck für die Suche verwenden:

import re
text = '172.17.0.2 - - [15/May/2019:09:58:20 +0800] "GET /redis HTTP/1.1" 200 9876'
pattern = r'(?<=GETs)S+'
result = re.findall(pattern, text)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

['/redis']
Nach dem Login kopieren

Unter diesen bedeutet der reguläre Ausdruck „(?<=GETs)S+“, dass Wörter gefunden werden, die mit „GET“ beginnen (beachten Sie, dass dort ist ein Leerzeichen danach) Eine nicht leere Zeichenfolge.

  1. Finden Sie die Container-IP-Adresse

In Docker beginnt die Container-IP-Adresse normalerweise mit „172“. Wir können den folgenden regulären Ausdruck für die Suche verwenden:

import re
text = '172.17.0.2 - - [15/May/2019:09:58:20 +0800] "GET /redis HTTP/1.1" 200 9876'
pattern = r'd{1,3}.d{1,3}.d{1,3}.d{1,3}'
result = re.findall(pattern, text)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

['172.17.0.2']
Nach dem Login kopieren

Wobei der reguläre Ausdruck „d{1,3}.d{1,3}.d{1,3}.d{ 1 ,3}" bedeutet, dass ein Bereich von IP-Adressen abgeglichen wird.

  1. Containernamen ersetzen

In Docker müssen wir häufig den Containernamen umbenennen. Wir können den folgenden regulären Ausdruck verwenden, um den Containernamen zu ersetzen:

import re
text = 'docker run -d --name redis01 redis'
pattern = r'--namesS+'
repl = '--name new_redis'
result = re.sub(pattern, repl, text)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

'docker run -d --name new_redis redis'
Nach dem Login kopieren

Unter diesen bedeutet der reguläre Ausdruck „--namesS+“ die Übereinstimmung eines Absatzes, der mit „--name“ beginnt (beachten Sie, dass dort ist ein Leerzeichen danach) Eine nicht leere Zeichenfolge; repl stellt die zu ersetzende Zeichenfolge dar.

Zusammenfassung

Reguläre Python-Ausdrücke sind eine sehr verbreitete Technologie in der Container-Orchestrierung, die uns dabei helfen kann, einige Informationen zu filtern, abzugleichen und zu ersetzen. In diesem Artikel werden die Grundkenntnisse über reguläre Python-Ausdrücke, die Verwendung des re-Moduls und einige gängige Anwendungen für reguläre Ausdrücke vorgestellt. Ich hoffe, dass es für die Arbeit aller bei der Container-Orchestrierung hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Container-Orchestrierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage