Skip to main content
 首页 » 编程设计

python之从列表中获取特定字符串之Python

2025年05月04日28落叶无声

我有一个如下所示的列表:

list = ['Julio Cesar por inhumana (?)', '1/4/2015', '1/4/2015', '1/4/2015'] 

我只想要日期。我有一个看起来像这样的正则表达式:

r'\b(\d+/\d+/\d{4})\b' 

但我真的不知道如何在列表中使用它。或者可以用其他方式完成

任何帮助将不胜感激

请您参考如下方法:

很简单。只需使用 re.match:

>>> import re 
>>> mylist = ['Julio Cesar por inhumana (?)', '1/4/2015', '1/4/2015', '1/4/2015'] 
>>> dates = [x for x in mylist if re.match(r'\b(\d+/\d+/\d{4})\b', x)] 
>>> dates 
['1/4/2015', '1/4/2015', '1/4/2015'] 

re.match 只匹配字符串的开头,所以这就是您想要的。另外,我不会将列表命名为“list”——因为这是内置列表类的名称,如果您以后尝试使用 list(some_iterable),可能会伤到自己。最好不要养成这种习惯。

最后,您的正则表达式将匹配以日期开头的字符串。如果您想确保整个字符串都是您的日期,您可以将其稍微修改为 r'(\d{1,2}/\d{1,2}/\d{4})$' -- 这将确保月份和日期均为 1 位或 2 位数字,年份恰好为 4 位数字。