python的re.finditer()函数的基本操作
Basic operations of python's re.finditer() function
我想知道是否有人可以告诉我 re
库中的 finditer()
函数 works.Specifically 函数背后的基本操作。
我尝试 Step Into
使用 IDE 函数调用,但我真的不知道一旦它开始在 3 个不同的文件中从一个函数到另一个函数(re.py
、sre_compile.py
和sre_parse.py
)
之所以想知道是因为我觉得我源码的基本操作是比较(是模糊搜索的实现),所以我需要能够确定有多少操作finditer()
在具有 n
个字符的字符串上生成。
这是无法回答的。正则表达式是一种语言;因此,finditer
和其他正则表达式执行函数本质上没有固定的复杂性。例如,正则表达式 a
是线性的,a*
不是,而 (a*)*
是可憎的。
编辑错误:Python 使用回溯算法。
我想知道是否有人可以告诉我 re
库中的 finditer()
函数 works.Specifically 函数背后的基本操作。
我尝试 Step Into
使用 IDE 函数调用,但我真的不知道一旦它开始在 3 个不同的文件中从一个函数到另一个函数(re.py
、sre_compile.py
和sre_parse.py
)
之所以想知道是因为我觉得我源码的基本操作是比较(是模糊搜索的实现),所以我需要能够确定有多少操作finditer()
在具有 n
个字符的字符串上生成。
这是无法回答的。正则表达式是一种语言;因此,finditer
和其他正则表达式执行函数本质上没有固定的复杂性。例如,正则表达式 a
是线性的,a*
不是,而 (a*)*
是可憎的。
编辑错误:Python 使用回溯算法。