web-dev-qa-db-ja.com

コンパイルされた正規表現をPythonでタイプヒントすることは可能ですか?

事前にコンパイルされて保存された正規表現のリストにオートコンプリートを使用したいのですが、_sre.SRE_Patternクラスをインポートできないようで、取得した型をtype()からにプログラムでフィードできません。形式のコメント#タイプ:クラス名またはリターンに使用->クラス名スタイルのヒント

_sre.cのものからクラスを明示的にインポートする方法はありますか?

20
KotoroShinoto

typing.Patternおよびtyping.Match このユースケースに対応するためにタイピングモジュールに特別に追加されました。

例:

from typing import Pattern, Match
import re

my_pattern = re.compile("[abc]*")  # type: Pattern[str]
my_match = re.match(my_pattern, "abbcab")  # type: Match[str]
print(my_match)
23
Michael0x2a