Python Regex捕获字符串中的多个部分

时间:2015-08-30 02:19:07

标签: python regex

我的字符串始终格式为track-a-b,其中ab是整数。
例如:
track-12-29
track-1-210
track-56-1

如何从python中的这些字符串中提取ab

2 个答案:

答案 0 :(得分:4)

如果它只是一个字符串,我会使用split进行处理:

>>> s = 'track-12-29'
>>> s.split('-')[1:]
['12', '29']

如果是多行字符串,我会使用相同的方法......

>>> s = 'track-12-29\ntrack-1-210\ntrack-56-1'
>>> results = [x.split('-')[1:] for x in s.splitlines()]
[['12', '29'], ['1', '210'], ['56', '1']]

答案 1 :(得分:2)

您需要将re.findall()用于捕获群组:

results = [re.findall(r'track-(\d+)-(\d+)', datum) for datum in data]