Python正则表达式中的模式匹配

时间:2015-04-07 18:54:45

标签: python html regex

如何在python中使用regexp从html <div>标记中提取日期。 Html就是这样的

<div><strong>Date:<\/strong> Monday April 6, 2015 at 4:41PM <div>

我需要以“yyyy-dd-mm hh:mm”格式获取日期。此输出应为“2015-04-06 16:41”

2 个答案:

答案 0 :(得分:2)

我没有使用正则表达式解决问题(请参阅RegEx match open tags except XHTML self-contained tags),而是使用 HTML Parser BeautifulSoupdateutil来提取日期。提取日期后,使用strftime()将其转换为所需格式的字符串:

>>> from bs4 import BeautifulSoup
>>> from dateutil import parse
>>> s = "<div><strong>Date:</strong> Monday April 6, 2015 at 4:41PM <div>"
>>> text = soup.find('div').text
>>> parse(text, fuzzy=True).strftime("%Y-%d-%m %H:%M")
'2015-06-04 16:41'

答案 1 :(得分:0)

单独使用RegEx是不可能的,因为当它不在源中时,你无法匹配它。