【发布时间】:2019-06-01 04:09:52
【问题描述】:
试图从这个字符串中提取日期:
Publisher: Broadway Books; Anniversary, Reprint edition (October 8, 2002)
我想得到这个:October 8, 2002
这是我使用的正则表达式。目标是使其适用于上述格式的任何日期。当我在 https://regex101.com/ 上测试它时它可以工作,但在我的代码中返回“None”。
pattern = re.compile("(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\s+\d{1,2},\s+\d{4}")
date = pattern.match(tag.get_text())
【问题讨论】:
-
“不起作用”信息量不大。你有什么收获吗?如果是这样,是什么?你确定
tag有应该匹配的文本吗?请提供tag的值,以便我们试用。 -
一般情况下,您不应该使用
match。它没有做你认为它正在做的事情。请改用search。你的固定代码对我有用:pattern.search("foo October 8, 2002 bar").group(0)->'October 8, 2002'。 -
@cco 在代码中不返回任何内容。我在上面编辑了我的问题