2016-08-05 191 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)