Iva*_*van 0 python regex types python-3.x
我正在编写一个函数来处理预编译的正则表达式。我如何明确定义这一点?例如
def use_regular_expression(regular_expression: ???):
pass
Run Code Online (Sandbox Code Playgroud)
我要写什么来代替“???” 只接受re.compile给定有效正则表达式字符串的输出?
print(type(re.compile('')))说_sre.SRE_Pattern并且 PyCharm IDE 表明它是,re.__Regex但无论我尝试导入和指定它们的明显方式是什么,似乎都不起作用。
感谢将我的问题标记为与此问题重复的人(不幸的是,我自己没有找到它),我找到了@flying-sheep编写的正确答案(即正是我正在寻找的答案),让我引用对于那些可能偶然发现这个问题实例的人来说:
它是typing.re.Pattern。
例如
from typing.re import Pattern
my_re = re.compile('foo')
assert isinstance(my_re, Pattern)
Run Code Online (Sandbox Code Playgroud)