【发布时间】:2017-11-29 14:59:48
【问题描述】:
我正在尝试使用 python 从字符串中提取日期。日期格式为 mm-dd-yyyy。所以我知道正则表达式应该类似于 /d{2}-/d{2}-/d{4}。但是,当我尝试遍历下面的数组时,我无法从字符串中提取日期。
import re
logs = ["First entry to journal logs. (01-01-2015)", "Last entry to journal logs 07-01-2016"]
for i in logs:
m = re.match("/d{2}-/d{2}-/d{4}",i)
print m.group(0)
我之前没有使用过 re,所以不确定我是否正确使用它。
【问题讨论】:
-
正则表达式转义符号是
\,而不是/。提取所有匹配 usere.findall. -
反斜杠而不是正斜杠:
\d不是/d -
我尝试了 \d{2}-\d{2}-\d{4} 但我得到任何值的字符串注释
-
@codeBarer 在字符串前面放一个
r,这样它就是r"\d{2}-\d{2}-\d{4}" -
@codeBarer 您还想使用
search而不是match。后者锚定在字符串的开头,这样您的正则表达式变为^\d{2}-\d{2}-\d{4},而前者搜索字符串中的任何位置