【发布时间】:2020-09-10 16:12:32
【问题描述】:
我正在尝试从文本数据中提取日期。当我在 regex101 网站上签入时,该表达式有效并且工作正常。但是当应用于数据时,它会引发错误“ValueError: pattern contains no capture groups”。我的示例文本是 ["Mar-20-2009", "Mar 20, 2009", "March 20, 2009", "Mar. 20, 2009"," Mar 20 2009"] 作为熊猫系列对象输入。
df2 = pd.Series(["Mar-20-2009", "Mar 20, 2009", "March 20, 2009", "Mar. 20, 2009"," Mar 20 2009"])
df2.str.extractall(r'(?:\d{2} )?(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]* (?:\d{2}, )?\d{4}')
它实际上与任何日期都不匹配,我的预期输出是 ["2009 年 3 月 20 日"、"2009 年 3 月 20 日"、"2009 年 3 月 20 日"]。 Screenshot of error
【问题讨论】:
标签: python-3.x regex pandas regex-group