2014-09-26 73 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'