2016-08-05 187 views
-2

什么会是这样的数据Python正则表达式

/home//Desktop/3A5F.py 
path/sth/R67G.py 
a/b/c/d/t/6UY7.py 

正则表达式我想获得这些

3A5F.py 
R67G.py 
6UY7.py 
+1

嗨,欢迎计算器。你试过什么了? (提示:不需要正则表达式) – msvalkon

+0

'“/home//Desktop/3A5F.py".split(”/“)[ - 1]' – msvalkon

+0

也许是一个[* Python,从路径中提取文件名,no问题什么os /路径格式*](http://stackoverflow.com/questions/8384737/python-extract-file-name-from-path-no-matter-what-the-os-path-format) –

回答

2

它看起来像你解析路径,在这种情况下,你应该使用os.path代替正则表达式:

from os.path import basename 
basename('/home//Desktop/3A5F.py') 
# 3A5F.py 
0

使用:[^\/]*\.py$

但是,这是一个不好的问题。你需要展示你的尝试。你不在这里为你做你的工作。

+0

*但这是一个糟糕的问题。* - 为什么回答? (基本上,这是所有人在这里回答的问题)。 –

1

作为替代方案,你可以得到相同的结果没有正则表达式

lines = ['/home//Desktop/3A5F.py', 'path/sth/R67G.py', 'a/b/c/d/t/6UY7.py'] 

result = [l.split('/')[-1] for l in lines] 
print result 
# ['3A5F.py', 'R67G.py', '6UY7.py'] 
0

您可以使用它。

pattern = ".*/(.*$)" 
mystring = "/home//Desktop/3A5F.py" 
re.findall(pattern, mystring) 

您还可以使用os.path.split(mystring)