我想知道Python re库中正则匹配的最后索引
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