Pythonの構文解析方法は?
Pythonでは、parse関数は文字列を指定されたデータ型に解析するために使用できます。parseモジュールをインポートすることで使用できます。
以下は parse 関数を使用したサンプルコードです。
from parse import parse
# 解析整数
result = parse("The answer is {:d}", "The answer is 42")
print(result) # {'d': 42}
# 解析浮点数
result = parse("The value is {:.2f}", "The value is 3.14")
print(result) # {'f': 3.14}
# 解析字符串
result = parse("Hello, {}!", "Hello, World!")
print(result) # {'0': 'World'}
# 解析多个值
result = parse("The answer is {} and the value is {:.2f}", "The answer is 42 and the value is 3.14")
print(result) # {'0': 42, '1': 3.14}
parse関数の第1引数には、解析対象となるテンプレート文字列を指定する。このテンプレート文字列では、解析対象部分には大括弧{}を使用する。大括弧内には、書式指定子を追加することが可能。例::dは整数を解析する場合に、:.2fは小数部を2桁に丸めて解析する場合に使用する。
第二のパラメータはパースする文字列です。
parse関数は、解析結果を含む辞書を返します。辞書のキーはテンプレート文字列中の中括弧インデックスに基づいて生成され、値は具体的に解析された数値です。
パース関数はパターンマッチングに基づいているため、テンプレート文字列と解析対象の文字列は、正常に解析されるには一致する必要がある点にご注意ください。一致しない場合、parse 関数は None を返します。