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.
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)
Das Ausgabeergebnis lautet:
['456', '7890', '6']
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)
Das Ausgabeergebnis lautet:
'hello-world'
3. Häufige Anwendungen für reguläre Ausdrücke
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)
Das Ausgabeergebnis ist:
['/redis']
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.
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)
Das Ausgabeergebnis ist:
['172.17.0.2']
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.
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)
Das Ausgabeergebnis ist:
'docker run -d --name new_redis redis'
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!