有可能在python中键入提示已编译的正则表达式吗?

时间:2016-07-24 20:41:48

标签: python regex type-hinting

我想将自动完成功能用于预编译和存储的正则表达式列表,但是我没有看到我可以导入_sre.SRE_Pattern类,并且我无法以编程方式提供所获得的从type()类型到#type类型的注释:classname或用于返回 - > classname样式提示

有没有办法从_sre.c中显式导入一个类?

1 个答案:

答案 0 :(得分:11)

您应该使用专门添加到输入模块的typing.Pattern and 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)