So verwenden Sie reguläre Python-Ausdrücke für die Code-Umgestaltung

WBOY
Freigeben: 2023-06-23 09:44:58
Original
1481 Leute haben es durchsucht

Beim täglichen Codieren müssen wir den Code häufig ändern und rekonstruieren, um die Lesbarkeit und Wartbarkeit des Codes zu verbessern. Eines der wichtigsten Werkzeuge sind reguläre Ausdrücke. In diesem Artikel werden einige gängige Techniken zur Verwendung regulärer Python-Ausdrücke für die Code-Umgestaltung vorgestellt.

1. Suchen und Ersetzen

Eine der am häufigsten verwendeten Funktionen regulärer Ausdrücke ist Suchen und Ersetzen. Angenommen, wir müssen alle Druckanweisungen im Code durch Protokollierungsanweisungen ersetzen. Zur Suche können wir den folgenden regulären Ausdruck verwenden:

prints*((.*))
Nach dem Login kopieren

Dieser reguläre Ausdruck kann mit Anweisungen der Form print(…) übereinstimmen und den Inhalt innerhalb der Klammern als Untergruppe erfassen. Als nächstes können wir das re-Modul von Python verwenden, um den Ersetzungsvorgang durchzuführen:

import re

pattern = r'prints*((.*))'
replacement = r'logging.info()'

code = 'print("hello, world")'
refactored_code = re.sub(pattern, replacement, code)
print(refactored_code)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

logging.info("hello, world")
Nach dem Login kopieren

Wie aus diesem Beispiel ersichtlich ist, kann der Code mithilfe regulärer Ausdrücke leicht umgestaltet werden. Diese Methode ist besser als die manuelle Suche und Der Austausch ist effizienter.

2. Strings teilen und zusammenführen

Eine weitere häufige Code-Refactoring-Aufgabe ist das Teilen und Zusammenführen von Strings. Beispielsweise müssen wir eine Zeichenfolge „Apfel, Banane, Orange“ in eine Liste [‘Apfel‘, ‚Banane‘, ‚Orange‘] umwandeln. Wir können den folgenden regulären Ausdruck für Aufteilungs- und Matching-Operationen verwenden:

import re

pattern = r'(w+)'
code = "apple,banana,orange"

result = re.findall(pattern, code)
print(result)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

['apple', 'banana', 'orange']
Nach dem Login kopieren

Dieser reguläre Ausdruck kann ein oder mehrere Zeichen in ein Wort einordnen und alle solchen Wörter in der Zeichenfolge finden und gibt eine Liste zurück. Ebenso können wir die Join-Methode von Python verwenden, um eine Liste in einen String zusammenzuführen:

import re

pattern = r'(w+)'
code = "apple,banana,orange"

result = re.findall(pattern, code)
refactored_code = ','.join(result)
print(refactored_code)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

apple,banana,orange
Nach dem Login kopieren

Diese Methode kann auf komplexere String-Verarbeitung angewendet werden, z. B. reguläre Ausdrücke, die einem XML- oder Tag-Inhalt im entsprechen HTML-Dokument, das dann weiterverarbeitet wird.

3. Extraktion und Rekonstruktion von Codeblöcken

Bei einigen großen Codebasen müssen wir möglicherweise einige Codeblöcke extrahieren und rekonstruieren. Dies kann auch mit regulären Ausdrücken erreicht werden. Beispielsweise müssen wir einen Codeblock extrahieren, der mehrere Funktionen enthält, und ihn als separate Datei speichern. Wir können den folgenden regulären Ausdruck verwenden, um den Codeblock abzugleichen:

import re

pattern = r'def (.+):s+(.*)'
code = '''
def foo():
    print("foo")
    
def bar():
    print("bar")
'''

# 使用正则表达式匹配 def 语句和它的下面的代码块
matches = re.findall(pattern, code, flags=re.DOTALL)

# 将提取出来的代码块进行处理
new_code = "
".join(["def " + match[0] + ":
    " + match[1].replace('
', '
    ') for match in matches])

print(new_code)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

def foo():
    print("foo")
    
def bar():
    print("bar")
Nach dem Login kopieren

Dieser reguläre Ausdruck kann Funktionsdefinitionen abgleichen, die mit „def xxx():“ beginnen, und den Funktionskörper als Untergruppen erfassen zusammen mit dem Funktionsnamen. Schließlich können wir alle passenden Funktionsdefinitionen mit Zeilenumbrüchen in einem Textblock verketten.

Zusammenfassung

In diesem Artikel werden einige gängige Techniken zur Verwendung regulärer Python-Ausdrücke für die Code-Umgestaltung vorgestellt, darunter Suchen und Ersetzen, Teilen und Zusammenführen von Zeichenfolgen, Codeblock-Extraktion und -Umgestaltung usw. Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug, das uns dabei helfen kann, Code effizienter umzugestalten und die Wartbarkeit und Lesbarkeit des Codes zu verbessern. Die Beherrschung regulärer Ausdrücke wird zu einer der unverzichtbaren Fähigkeiten eines jeden Python-Programmierers.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Code-Umgestaltung. 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