match.group()中“ _sre.SRE_Match”指的是什么

时间:2018-08-22 12:13:01

标签: python

我正在按照说明学习正则表达式:

In [269]: phone_number_regex
Out[269]: re.compile(r'\d\d\d-\d\d\d-\d\d\d\d', re.UNICODE)
In [270]: mo = phone_number_regex.search("My number is 415-555-4242")
In [273]: mo.group()
Out[273]: '415-555-4242'
In [274]: help(mo.group)
  _sre.SRE_Match实例的

group(...)方法
      group([group1,...])-> str或元组。       按索引或名称返回匹配项的子组。       为0时返回整个匹配项。

sre.SRE在这里指的是什么?

这不是bulitin方法:

In [285]: [ elem for elem in dir(mo.group) if "_sre" in elem]
Out[285]: []

1 个答案:

答案 0 :(得分:1)

re库实际上实际上是一个C扩展包,上面带有python包装程序。 _sre是C扩展模块,_sre.SRE_Match是(C编码)Match类。您可以在sys.modules中找到它:

>>> import sys
>>> import re
>>> sys.modules["_sre"]
<<module '_sre' (built-in)>