Python 查找最后一个匹配项时获取空列表

Python 查找最后一个匹配项时获取空列表,python,regex,Python,Regex,我想找到url中斜杠之间的最后一个单词。例如,在“/gallery/haha/nika/7907/08-2015”中找到“nika” 我在python代码中编写了以下内容: >>> text = '/gallery/haha/nika/7907/08-2015' >>> re.findall(r'/[a-zA-Z]*/$', text) 但我有一张空名单: [] 如果我删除美元符号: >>> re.findall(r'/[a-zA-Z]*

我想找到url中斜杠之间的最后一个单词。例如,在“/gallery/haha/nika/7907/08-2015”中找到“nika”

我在python代码中编写了以下内容:

>>> text = '/gallery/haha/nika/7907/08-2015'
>>> re.findall(r'/[a-zA-Z]*/$', text)
但我有一张空名单:

[]
如果我删除美元符号:

>>> re.findall(r'/[a-zA-Z]*/', text)
返回列表不为空,但缺少“/haha/”:

['/gallery/', '/nika/']
有人知道为什么吗?

使用lookarounds,如中所示


re.findall(r')(?您不需要正则表达式

>>> s = "/gallery/haha/nika/7907/08-2015"
>>> for i in reversed(s.split('/')):
    if i.isalpha():
        print(i)
        break


nika

我想在斜杠之间找到最后一个字

为了得到最后一个…你可以在最后一个ᗧ 吃光:

^.*/([a-zA-Z]*)/

你知道如何找到最后一个匹配项吗?@KingstonChan
(?@KingstonChan,或
匹配[-1]
。vk,用斜体字强调而不是代码块。很高兴看到这是非正则表达式answers@BhargavRao正则表达式的答案已经给出,所以我们必须做相反的工作:-)使用
re.findall
将给出所需的结果
>>> [i for i in s.split('/') if i.isalpha()][-1]
'nika'
>>> 
>>> j = s.split('/')
>>> [i for i in j if i.isalpha()][-1]
'nika'
^.*/([a-zA-Z]*)/