Suppression des séquences d'échappement ANSI des chaînes en Python
Lorsque vous travaillez avec des chaînes obtenues à partir de commandes SSH, vous pouvez rencontrer des séquences d'échappement ANSI qui interfèrent avec le fonctionnement de votre programme. Pour supprimer ces séquences d'échappement et extraire les informations pertinentes de la chaîne, vous pouvez utiliser les techniques suivantes à l'aide du module d'expressions régulières de Python :
Méthode d'expression régulière
Vous pouvez utiliser l'expression régulière suivante pour identifier et supprimer les séquences d'échappement ANSI d'une chaîne :
import re # 7-bit C1 ANSI sequences ansi_escape = re.compile(r'\x1B(?:[@-Z\-_]|\[[0-?]*[ -/]*[@-~])') result = ansi_escape.sub('', sometext)
Cette expression régulière cible à la fois les formats 7 bits et 8 bits. Séquences d'échappement ANSI C1, y compris les codes Control Sequence Introducers (CSI) et Select Graphic Rendition (SGR).
Exemple
Considérez la chaîne suivante avec des séquences d'échappement ANSI :
'ls\r\n\x1b[00m\x1b[01;31mexamplefile.zip\x1b[00m\r\n\x1b[01;31m'
L'application de l'expression régulière ci-dessus supprimera les séquences d'échappement, vous laissant avec :
ls\r\nexamplefile.zip\r\n
Explication de l'expression régulière
En faisant correspondre et en supprimant ces séquences d'échappement, vous pouvez extraire efficacement le texte souhaité de la chaîne.
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!