Python的re模块是一个用于正则表达式操作的库。re.finditer.span()函数是re模块中的函数,作用是用于查找字符串中符合正则表达式规则的子串(或多个子串),并返回它们在字符串中的位置信息(即起始位置和终止位置)。该函数的具体使用方法如下:
函数语法
re.finditer(pattern, string, flags=0)
参数说明:
- pattern: 要匹配的正则表达式规则
- string: 要搜索的字符串
- flags(可选参数): 用于控制正则表达式的匹配方式,如是否区分大小写、是否要多行匹配等等。具体内容可参考re.match()函数。
返回值:返回一个迭代器,其中每个元素对应一个匹配到的子串的位置信息的元组(起始位置和终止位置)。
使用示例:
import re
str1 = 'abcd1234efg5678'
result1 = re.finditer('\d', str1)
for item in result1:
print(item, item.span())
str2 = '135246'
result2 = re.finditer('(\d{3})(\d{3})', str2)
for item in result2:
print(item.group(), item.span(1), item.span(2))
以上代码的执行结果如下:
(4, 5)
(5, 6)
(6, 7)
(7, 8)
(12, 13)
(13, 14)
135 (0, 3) (3, 6)
246 (0, 3) (3, 6)
以上代码中,第一个示例在字符串 str1
中匹配所有数字字符,并输出它们在字符串中的位置信息(起始位置和终止位置)。第二个示例在字符串 str2
中匹配所有“连续的三个数字”字符组成的子串,同时输出这些子串及它们中每个“三个数字”组的位置信息(起始位置和终止位置)。