使用python正则表达式查找最后一个匹配项

我想匹配字符串中最后一次出现的简单模式,例如

list = re.findall(r"\w+ AAAA \w+", "foo bar AAAA foo2 AAAA bar2")

print "last match: ", list[len(list)-1]

但是,如果字符串 长,则会生成大量匹配项。有没有更直接的方法来匹配第二次出现的“ AAAA”,还是应该使用此替代方法?

回答:

您可以使用$表示行末字符:

>>> s = """foo bar AAAA

foo2 AAAA bar2"""

>>> re.findall(r"\w+ AAAA \w+$", s)

['foo2 AAAA bar2']

另外,请注意,这list是变量的坏名称,因为它隐藏了内置类型。要访问列表的最后一个元素,您可以使用[-1]index:

>>> lst = [2, 3, 4]

>>> lst[-1]

4

以上是 使用python正则表达式查找最后一个匹配项 的全部内容, 来源链接: utcz.com/qa/433941.html

回到顶部