SVN备份检验,2014/09/24/18 / Rev1223 / FullSvnCheckout.tgz
从以下字符串我需要获取Rev1233。所以我想知道我们是否可以做任何重复表达。我喜欢关注string.search(" Rev" uptill next /)
到目前为止,我使用split数组拆分了它 s1,s2,s3,s4,s5 = string(" /",4)
答案 0 :(得分:2)
你不需要正则表达式来做到这一点。它很简单:
str = 'svn-backup-test,2014/09/24/18/Rev1223/FullSvnCheckout.tgz'
str.split('/')[-2]
答案 1 :(得分:0)
这是一个快速的python示例
>>> impot re
>>> s = 'svn-backup-test,2014/09/24/18/Rev1223/FullSvnCheckout.tgz'
>>> p = re.compile('.*/(Rev\d+)/.*')
>>> p.match(s).groups()[0]
'Rev1223'
答案 2 :(得分: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'