2014-09-26 78 views
0

SVN備份測試從人物和結束2014/09/24/18/Rev1223/FullSvnCheckout.tgz蟒蛇正則表達式查找字符串

從以下字符串我需要獲取Rev1233。所以我想知道我們是否可以有任何regexpression來做到這一點。我喜歡做以下string.search( 「REV」 uptill下一個/)

到目前爲止我分裂此採用分體式陣列 S1,S2,S3,S4,S5 =字符串( 「/」,4)

回答

2

你不需要一個正則表達式來做到這一點。它很簡單,只要:

str = 'svn-backup-test,2014/09/24/18/Rev1223/FullSvnCheckout.tgz' 
str.split('/')[-2] 
+1

是的是的,OMG它完全有意義。 aaaahhh – 2014-09-26 05:26:48

0

這裏是一個快速蟒示例

>>> impot re 
>>> s = 'svn-backup-test,2014/09/24/18/Rev1223/FullSvnCheckout.tgz' 
>>> p = re.compile('.*/(Rev\d+)/.*') 
>>> p.match(s).groups()[0] 
'Rev1223' 
0

使用正則表達式查找第二部分從結束時,如果優選的:

/(Rev\d+)/[^/]+$ 

http://regex101.com/r/cC6fO3/1

>>> import re 
>>> m = re.search('/(Rev\d+)/[^/]+$', 'svn-backup-test,2014/09/24/18/Rev1223/FullSvnCheckout.tgz') 
>>> m.groups()[0] 
'Rev1223'