首页 > 解决方案 > 查找两个标签之间的有效日期

问题描述

给定一个非结构化 HTML 文本,其中包含一些格式为 '%b %d' 的日期值和一些约束(见下文),您认为哪种方法最合适:

这是 HTML 文本的摘录:

text = '...some text ...>Jan 29 AMC<...some text ...'

我正在寻找提取部分:

标签: pythonhtmlregexdate

解决方案


使用这个正则表达式:

<.*?>(\w{3}\s\d{2}\s(AMC|BMO))

* 请注意,该模式可以让您获得非月模式!否则你必须手动设置它们。

<.*?>((Jan|Feb|....)\s\d{2}\s(AMC|BMO))

演示

蟒蛇代码:

import re 

reg = r'<.*?>(\w{3}\s\d{2}\s(AMC|BMO))'
text = '<...some text ...>Jan 29 AMC</...some text ...>'
Res = re.findall(reg,text)
if len(Res) != 0:
    for r in Res:
        print(r[0])

或者

import re 

reg = r'<.*?>(\w{3}\s\d{2}\s(AMC|BMO))'
text = '<...some text ...>Jan 29 AMC</...some text ...>'
Res = re.match(reg,text)
if Res:
    print ('Valid')

推荐阅读