Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Python-Ausdrücke für die umgekehrte polnische Ausdrucksauswertung

So verwenden Sie reguläre Python-Ausdrücke für die umgekehrte polnische Ausdrucksauswertung

PHPz
PHPzOriginal
2023-06-23 09:48:141618Durchsuche

Was ist ein umgekehrter polnischer Ausdruck?

Umgekehrter polnischer Ausdruck, auch als Postfix-Ausdruck bekannt, ist eine Methode zum Ausdrücken arithmetischer Ausdrücke, die keine Klammern zur Unterscheidung der Operatorpriorität erfordert. Sein Merkmal ist, dass der Operator hinter dem Operanden steht. Die Umwandlung des Infix-Ausdrucks „3 + 4 5“ in den umgekehrten polnischen Ausdruck lautet beispielsweise „3 4 5 +“.

Was sind reguläre Python-Ausdrücke?

Python-reguläre Ausdrücke sind Tools zum Abgleichen und Verarbeiten von Textdaten. Mit regulären Ausdrücken können Sie nach Mustern in Texten suchen. Python bietet das Modul „re“, um die Funktionalität regulärer Ausdrücke zu nutzen.

Wie verwende ich reguläre Python-Ausdrücke für die umgekehrte polnische Ausdrucksauswertung?

Die Implementierung des umgekehrten polnischen Ausdrucksauswertungsalgorithmus erfordert die folgenden Schritte:

  1. Konvertieren Sie den umgekehrten polnischen Ausdruck in eine Liste, damit jeder Operator und Operand der Reihe nach überprüft werden kann.
  2. Erstellen Sie einen leeren Stapel Liste umgekehrter polnischer Ausdrücke, die für jedes Element Folgendes ausführt:
  3. a. Wenn es sich um eine Zahl handelt, schieben Sie sie an die Spitze des Stapels.
  4. b. Führen Sie die obersten beiden Elemente des Stapels aus entsprechende Operation und schieben Sie das Ergebnis an die Spitze des Stapels.

    Wenn der Durchlauf abgeschlossen ist, ist das Element oben im Stapel das Auswertungsergebnis des umgekehrten polnischen Ausdrucks.
  5. Wir können reguläre Python-Ausdrücke verwenden, um die Funktion zum Konvertieren umgekehrter polnischer Ausdrücke in Listen einfach zu implementieren. Der Beispielcode lautet wie folgt:
import re

expression = "3 4 5 * +"
tokens = re.findall("d+|S", expression)

print(tokens) # ['3', '4', '5', '*', '+']

Anschließend können wir die obigen Schritte ausführen, um den Auswertungsalgorithmus des umgekehrten polnischen Ausdrucks zu implementieren. Der Beispielcode lautet wie folgt:

stack = []
for token in tokens:
    if re.match("d+", token):
        stack.append(int(token))
    else:
        operand2 = stack.pop()
        operand1 = stack.pop()
        if token == "+":
            stack.append(operand1 + operand2)
        elif token == "-":
            stack.append(operand1 - operand2)
        elif token == "*":
            stack.append(operand1 * operand2)
        elif token == "/":
            stack.append(int(operand1 / operand2))

result = stack.pop()

print(result) # 23

Dieser Code funktioniert, indem er einen leeren Stapel erstellt, die Liste der umgekehrten polnischen Ausdrücke durchläuft, jeden Operator und Operanden überprüft, die entsprechende Operation auf dem Stapel ausführt und schließlich das Element an der Spitze zurückgibt des Stapels als Ergebnis.

Fazit

Mit regulären Python-Ausdrücken können Sie umgekehrte polnische Ausdrücke ganz einfach in Listen umwandeln und arithmetische Berechnungen auf dem Stapel durchführen. Die regulären Ausdrücke von Python sind sehr leistungsfähig und können uns dabei helfen, eine schnelle, flexible und zuverlässige Textübereinstimmung und -verarbeitung zu erreichen.

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

Stellungnahme:
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