2014-10-02 70 views
2

我想,如果我們的安裝程序的新版本已經發布到掃描Amazon S3鬥,爲了尋找:解析基於正則表達式的路徑 - Python的

桶掃描返回我喜歡的東西:

versions/ 
versions/4.4.1.2/ 
versions/4.4.1.2/Installer.sh 
versions/4.4.2.11/ 
versions/4.4.2.11/Installer.sh 
versions/4.5.0.10a/ 
versions/4.5.0.10a/Installer.sh 
versions/4.5.0.12a/ 
versions/4.5.0.12a/Installer.sh 

我只需要得到versions之間的<{d}.{d}.{d}.{d}{a-z]}>部分...我如何解析在Python中使用正則表達式?

+0

上面的預期輸出是什麼? – hwnd 2014-10-02 23:17:46

+0

'line.split('/')[1]'? – Kent 2014-10-02 23:18:08

+0

嘗試:line.split('/')[1]除外:pass – thisisshantzz 2014-10-02 23:52:28

回答

2

使用重新模塊:

import re 
text = "versions/4.5.0.10a/" 
re.search('\d+\.\d+\.\d+\.\d+[a-z]', text).group() 
Output: '4.5.0.10a' 
1

你可以通過積極的前瞻和回顧後做到這一點。

>>> s = "versions/"; 
>>> m = re.compile(r'(?<=/).*?(?=/)') 
>>> re.search(m, s) 
>>> s = "versions/4.4.1.2/"; 
>>> re.search(m, s).group() 
'4.4.1.2' 
>>> s = "versions/4.4.1.2/Installer.sh"; 
>>> re.search(m, s).group() 
'4.4.1.2'