我有以下文字:
text = itunes20140618.tbz
如何使用正则表达式捕获此处的日期?
我目前正在做的事情:
date = text.split('.tbz')[0].split('itunes')[-1]
我认为在这里使用 re.findall
对于我想要做的事情来说会更干净。请注意,在正则表达式中,它需要位于捕获组的特定单词“itunes”之后(而不仅仅是数字)。
最佳答案
您可以使用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'
关于python - 捕获正则表达式中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24336852/