我有一个如下所示的列表:
list = ['Julio Cesar por inhumana (?)', '1/4/2015', '1/4/2015', '1/4/2015']
Run Code Online (Sandbox Code Playgroud)
我只想要约会.我有一个看起来像这样的正则表达式:
r'\b(\d+/\d+/\d{4})\b'
Run Code Online (Sandbox Code Playgroud)
但我真的不知道如何在列表中使用它.或者也许可以用其他方式完成
任何帮助将非常感激
非常简单.只需使用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']
Run Code Online (Sandbox Code Playgroud)
re.match只在字符串的开头匹配,所以这就是你想要的情况.此外,我不会将列表命名为"列表" - 因为这是内置列表类的名称,如果您尝试这样做,可能会在以后伤害自己list(some_iterable).最好不要养成那种习惯.
最后,您的正则表达式将匹配以日期开头的字符串.如果您想确保整个字符串是您的日期,您可以稍微修改它r'(\d{1,2}/\d{1,2}/\d{4})$' - 这将确保月份和日期分别为1或2位数,年份正好是4位数.