我有以下文字:
text = itunes20140618.tbz
我如何使用正则表达式捕获日期?
我目前正在做:
date = text.split('.tbz')[0].split('itunes')[-1]
我认为在这里使用re.findall
对于我想做的事情会更清洁。请注意在正则表达式中,它需要在特定单词" itunes"之后。对于捕获组(不仅仅是数字)。
答案 0 :(得分:2)
您可以使用re.search
找到所需的匹配项。
>>> import re
>>> re.search(r'\d+', 'itunes20140618.tbz').group()
'20140618'
由于您声明必须在 itunes 之后,您可以使用capturing group并参考该组号来访问您的匹配。
>>> import re
>>> re.search(r'itunes(\d+)', 'itunes20140618.tbz').group(1)
'20140618'
您还可以使用 Positive Lookbehind 来确保 itunes 之后的内容。
>>> re.search(r'(?<=itunes)\d+', 'itunes20140618.tbz').group()
'20140618'
答案 1 :(得分:1)