- スタックを使用する方法: 括弧のチェックには、スタックというデータ構造を使用する方法があります。以下は、この方法のコード例です。
def check_parentheses(string):
stack = []
opening_brackets = ['(', '[', '{']
closing_brackets = [')', ']', '}']
for char in string:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack:
return False
if opening_brackets.index(stack.pop()) != closing_brackets.index(char):
return False
return not stack
# 使用例
code = "def foo():\n print('Hello, World!')"
if check_parentheses(code):
print("括弧のチェック: OK")
else:
print("括弧のチェック: エラー")
- 正規表現を使用する方法:
Pythonの
re
モジュールを使用して、正規表現を使って括弧のチェックを行うこともできます。以下は、この方法のコード例です。
import re
def check_parentheses(string):
opening_brackets = r'\(|\[|\{'
closing_brackets = r'\)|\]|\}'
pattern = opening_brackets + '|' + closing_brackets
while re.search(pattern, string):
string = re.sub(pattern, '', string)
return not string
# 使用例
code = "def foo():\n print('Hello, World!')"
if check_parentheses(code):
print("括弧のチェック: OK")
else:
print("括弧のチェック: エラー")
これらは、Pythonで括弧のチェックを行うための一般的な方法の一部です。他にも、再帰を使用した方法やスタックを使わずに処理する方法など、さまざまなアプローチがあります。選択した方法は、コードの複雑さやパフォーマンスの要件によって異なる場合があります。
括弧のチェックは、コーディングにおける一般的な文法エラーの一つです。正しく括弧を使うことで、コードの可読性を向上させ、予期しないバグを防ぐことができます。