Maison  >  Article  >  développement back-end  >  Comment utiliser les expressions régulières Python pour l'orchestration de conteneurs

Comment utiliser les expressions régulières Python pour l'orchestration de conteneurs

PHPz
PHPzoriginal
2023-06-22 09:16:521248parcourir

Dans l'orchestration de conteneurs, nous devons souvent filtrer, faire correspondre et remplacer certaines informations. Python fournit des expressions régulières, un outil puissant qui peut nous aider à réaliser ces opérations. Cet article explique comment utiliser les expressions régulières Python pour l'orchestration de conteneurs, y compris des connaissances de base sur les expressions régulières, comment utiliser le module Python re et certaines applications d'expressions régulières courantes.

1. Connaissance de base des expressions régulières

L'expression régulière (expression régulière) fait référence à un modèle de texte utilisé pour décrire la structure d'un type de chaîne. En Python, nous pouvons utiliser le module re pour traiter les expressions régulières. Les expressions régulières sont constituées de divers caractères, dont certains ont une signification particulière, comme suit :

Correspond à n'importe quel caractère sauf les nouvelles lignes
^ Correspond au début de la chaîne
$ Correspond à la fin de la chaîne

  • Correspond au précédent Correspond au précédent. caractère zéro ou plusieurs fois
  • Correspond au caractère précédent une ou plusieurs fois
    ? Correspond au caractère précédent zéro ou une fois
    [] Correspond à n'importe quel caractère entre crochets
    | Correspond à deux expressions ou plus L'un des

En plus de Outre les caractères spéciaux couramment utilisés ci-dessus, il existe de nombreux autres caractères spéciaux qui peuvent être utilisés selon les besoins.

2. Comment utiliser le module re de Python

Le module re de Python fournit une série de fonctions pour utiliser des expressions régulières. Parmi elles, les fonctions les plus courantes sont re.findall(pattern, string) et re.sub(pattern, repl, string). La fonction

re.findall(pattern, string) est utilisée pour rechercher toutes les sous-chaînes d'une chaîne qui correspondent à l'expression régulière et renvoyer une liste. Par exemple, si nous voulons trouver tous les nombres se terminant par un nombre pair dans une chaîne, nous pouvons utiliser le code suivant :

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

Le résultat de sortie est :

['456', '7890', '6']

re.sub(pattern, repl, string) est utilisée pour faire correspondre l'expression régulière dans la chaîne Remplace la sous-chaîne de l'expression par la chaîne spécifiée et renvoie la chaîne remplacée. Par exemple, si nous voulons remplacer tous les espaces de la chaîne par des tirets "-", nous pouvons utiliser le code suivant :

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

Le résultat de sortie est :

'hello-world'

3. Applications d'expressions régulières courantes

  1. Trouver le nom du conteneur

Dans Docker, les noms de conteneurs commencent souvent par "/", comme "/redis". Nous pouvons utiliser l'expression régulière suivante pour rechercher :

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)

Le résultat de sortie est :

['/redis']

Parmi eux, l'expression régulière "(?<=GETs)S+" signifie faire correspondre les mots commençant par "GET" (notez qu'il y a est un espace après) Une chaîne non vide.

  1. Trouver l'adresse IP du conteneur

Dans Docker, l'adresse IP du conteneur commence généralement par "172". Nous pouvons utiliser l'expression régulière suivante pour rechercher :

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)

Le résultat de sortie est :

['172.17.0.2']

Où, l'expression régulière "d{1,3}.d{1,3}.d{1,3}.d{ 1 ,3}" signifie correspondre à une plage d'adresses IP.

  1. Remplacer le nom du conteneur

Dans Docker, nous devons souvent renommer le nom du conteneur. Nous pouvons utiliser l'expression régulière suivante pour remplacer le nom du conteneur :

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

Le résultat de sortie est :

'docker run -d --name new_redis redis'

Parmi eux, l'expression régulière "--namesS+" signifie faire correspondre un paragraphe commençant par "--name" (notez qu'il est un espace après) Une chaîne non vide repl représente la chaîne à remplacer.

Résumé

Les expressions régulières Python sont une technologie très courante dans l'orchestration de conteneurs, qui peut nous aider à filtrer, faire correspondre et remplacer certaines informations. Cet article présente les connaissances de base des expressions régulières Python, comment utiliser le module re et certaines applications d'expressions régulières courantes. J'espère que cela sera utile au travail de chacun dans l'orchestration des conteneurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn