详解Python re.finditer.lastindex函数:返回最后匹配的组的索引

Python re模块re.finditer.lastindex 函数

1.作用

Python re模块中的finditer()函数能够检索字符串中与给定模式匹配的所有字符串。函数会返回一个可迭代的迭代器对象,其中每个对象是匹配到的字符串及其索引。re.finditer().lastindex函数用来返回最后一次匹配的子组组号。

2.使用方法

函数语法:

re.finditer().lastindex

具体的使用方法:

import re

#创建匹配对象
matcher = re.finditer(r'(\w+)\s+(\d{4})','Word 2022 Test 2023 abc 2024')
for match in matcher:
    print(match.group(), "子组号为:", match.lastindex) 

运行结果:

Word 2022 子组号为: 1
Test 2023 子组号为: 1
abc 2024 子组号为: 1

其中,代码中使用finditer()函数,按照给定的正则表达式r'(\w+)\s+(\d{4})'来匹配字符串"Word 2022 Test 2023 abc 2024”,然后使用lastindex函数返回最后一次匹配子组的组号。

3.示例

实例一:

#实例一
import re

#创建一个正则表达式模板
pattern = '([A-Z])\w+([0-9])'
matcher= re.finditer(pattern, 'Hello World 2022, Python 2021')

#利用循环取出所有匹配到的对象
for obj in matcher:
    print(obj.group())  #输出匹配到的字符串
    print(obj.lastindex)  #输出最后一次匹配子组的组号,例如第一个匹配的字母H就在模板中的第1个圆括号内,数字2在模板中的第2个圆括号内,则这里的lastindex值为2

运行结果:

Hello World 2
2
Python 1
1

实例二:

#实例二
import re

#创建一个正则表达式模板
pattern = '(\d)(\d)(\d)'
matcher= re.finditer(pattern, '2022 is coming')

#利用循环取出所有匹配到的对象
for obj in matcher:
    print(obj.group())  #输出匹配到的字符串
    print(obj.lastindex)  #输出最后一次匹配子组的组号,例如这里最后一次匹配到第3个小括号中的内容,则这里的lastindex值为3

运行结果:

202
3

以上即为re.finditer.lastindex 函数的使用方法及应用举例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python re.finditer.lastindex函数:返回最后匹配的组的索引 - Python技术站

(0)
上一篇 2023年3月30日
下一篇 2023年3月30日

相关文章

  • 详解Python re.fullmatch.groupdict函数:返回所有有命名的匹配的字典

    Python中re.fullmatch.groupdict()函数的作用与使用方法 re模块简介 re模块是Python中用于正则表达式处理的标准库,在处理文本时非常常用。该模块中提供了很多的函数,其中re.fullmatch.groupdict()函数用于匹配整个字符串,并返回匹配对象的捕获组字典。 语法 re.fullmatch(pattern, str…

    re模块 2023年3月30日
    00
  • 详解Python re.finditer.lastgroup函数:返回最后匹配的命名组名

    Python 的 re 模块 finditer 函数及 lastgroup 属性详解 Python 的 re 模块是 Python 用于正则表达式操作的基础库,其中 re.finditer 函数返回一个匹配结果的迭代器,lastgroup 属性用于返回当前匹配成功的匹配组名。 re.finditer re.finditer 函数的语法为: re.findit…

    re模块 2023年3月30日
    00
  • 详解Python re.escape.pattern函数:要转义的字符串

    Python re 模块re.escape.pattern 函数使用方法及攻略 1. re.escape.pattern 函数作用 re.escape.pattern 函数是 re 模块中的一个函数,它可以将给定的字符串中的特殊字符转义,将它们转换成字符串的字面值,以便于在正则表达式中使用。 通常,在正则表达式中,特殊字符(例如 ?、*、+、[、] 等)具有…

    re模块 2023年3月23日
    00
  • 详解Python re.sub.repl函数:用于替换的字符串或函数

    Python re 模块 re.sub.repl 函数 re 模块是 Python 内置的用于处理正则表达式的库,re.sub.repl 函数是 re 模块的一个子函数,用于替换字符串中的全部或部分匹配项。 函数说明 函数原型: re.sub(pattern, repl, string, count=0, flags=0) 其中,pattern 表示要搜索的…

    re模块 2023年3月30日
    00
  • 详解Python re.finditer.posix函数:启用 POSIX 正则表达式语法

    简介 re模块是Python中用于正则表达式操作的库,其中的finditer函数可以用于搜索字符串中的所有匹配项。与其他re模块函数不同的是,finditer会返回一个迭代器,每个迭代器包含一个MatchObject对象以及匹配字符串的起始和结束位置。 该函数的语法如下: re.finditer(pattern, string, flags=0) 其中,pa…

    re模块 2023年3月23日
    00
  • 详解Python re.finditer.string函数:返回搜索的字符串

    re 模块 re 模块是 Python 自带的用于正则表达式匹配的库,可以用来实现字符串的查找和替换等操作。它提供了字符序列的模式匹配功能,包括字符序列的搜索和替换等常用操作。 re.finditer.string函数 re.finditer.string(string, pattern, flags=0) 函数在字符串中搜索模式,返回一个迭代器,迭代器中的…

    re模块 2023年3月23日
    00
  • 详解Python re.fullmatch.start函数:返回匹配的子串开始位置的索引

    Python re.fullmatch.start函数的作用 re.fullmatch(pattern, string) 函数用于尝试将整个字符串与指定的正则表达式模式匹配,如果匹配成功则返回一个匹配对象,否则返回None。 re.fullmatch.start([group=0]) 函数则用于返回指定匹配对象的起始位置。如果没有匹配成功,则会抛出 Attr…

    re模块 2023年3月30日
    00
  • 详解Python re.finditer.groupdict函数:返回所有有命名的匹配的字典

    Python re 模块 Python的re模块是专门用于处理正则表达式的模块,re模块提供了对正则表达式进行匹配和替换的支持,通过学习和使用re模块,可以有效地处理一些基于模式匹配的问题。 re.finditer() 函数 re.finditer()是re模块中提供的一个函数,它的作用是在字符串中查找与正则表达式匹配的所有子串,并以迭代器的形式返回。 re…

    re模块 2023年3月30日
    00
合作推广
合作推广
分享本页
返回顶部