ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現を使用して逆ポーランド語式を評価する方法
逆ポーランド語表現とは何ですか?
逆ポーランド式は後置式とも呼ばれ、演算子の優先順位を区別するために括弧を必要としない算術式を表現する方法です。その特徴は、演算子がオペランドの後ろにあることです。たとえば、中置表現「3 4 5」を逆ポーランド語表現に変換すると、「3 4 5 」となります。
Python 正規表現とは何ですか?
Python 正規表現は、テキスト データを照合および処理するためのツールです。正規表現を使用して、テキスト内のパターンを検索できます。 Python には、正規表現機能を使用するための「re」モジュールが用意されています。
逆ポーランド式評価に Python 正規表現を使用するにはどうすればよいですか?
逆ポーランド式評価アルゴリズムを実装するには、次の手順に従う必要があります:
Python 正規表現を使用すると、逆ポーランド語表現をリストに変換する機能を簡単に実装できます。サンプル コードは次のとおりです。
import re expression = "3 4 5 * +" tokens = re.findall("d+|S", expression) print(tokens) # ['3', '4', '5', '*', '+']
次に、上記の手順に従って、逆ポーランド式の評価アルゴリズムを実装します。サンプル コードは次のとおりです。
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
このコードは、空のスタックを作成し、逆ポーランド式リストを反復処理し、各演算子とオペランドをチェックし、スタック上で対応する操作を実行し、最後に要素を返します。結果としてスタックの最上位になります。
結論
Python 正規表現を使用すると、逆ポーランド式をリストに簡単に変換し、スタック上で算術計算を実行できます。 Python の正規表現は非常に強力で、高速、柔軟、信頼性の高いテキストの一致と処理を実現するのに役立ちます。
以上がPython 正規表現を使用して逆ポーランド語式を評価する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。