我想知道Python re库中正则匹配的最后索引

1 投票
1 回答
1919 浏览
提问于 2025-04-17 20:16
import re
a = re.compile('myregex')
a.search(target_string)

我想找一种方法,能够获取到可能匹配的下一个字符的索引。

我知道可以获取到某个组的最后位置,但如果我的正则表达式包含的不止是一个组,我想知道如何获取到那个位置,还是说我需要开始计算我的正则表达式字符串中的字符?

1 个回答

3

通过 .search() 方法返回的 MatchObject 对象有一个 .end() 方法。默认情况下,这个方法会告诉你整个正则表达式匹配的结束位置。

你还可以给这个方法传递一个组的编号,这样它就会告诉你那个特定组的结束位置。这里的 0 组指的就是整个模式。

下面是一个演示:

>>> import re
>>> a = re.compile('(my|your) regex')
>>> match = a.search('Somewhere in this string is my regex; not much different from your regex.')
>>> print match.end()
36
>>> print match.end(1)
30

撰写回答