查找两个标记之间的有效日期 给出了一个非结构化HTML文本,其中包含一些“%B%D”格式的日期值,其中有一些约束(见下文),您认为哪种方法最合适: 和雷吉克斯一起去 手动解析 以python日期库为例
这是HTML文本的摘录:查找两个标记之间的有效日期 给出了一个非结构化HTML文本,其中包含一些“%B%D”格式的日期值,其中有一些约束(见下文),您认为哪种方法最合适: 和雷吉克斯一起去 手动解析 以python日期库为例,python,html,regex,date,Python,Html,Regex,Date,这是HTML文本的摘录: text = '...some text ...>Jan 29 AMC<...some text ...' text=”…一些文本…>1月29日AMC使用此正则表达式: <.*?>(\w{3}\s\d{2}\s(AMC|BMO)) (\w{3}\s\d{2}\s(AMC|BMO)) *请注意,该模式可以得到您的非月模式!否则,您必须手动设置它们 <.*?>((Jan|Feb|....)\s\d{2}\s(AMC|BMO)) (
text = '...some text ...>Jan 29 AMC<...some text ...'
text=”…一些文本…>1月29日AMC使用此正则表达式:
<.*?>(\w{3}\s\d{2}\s(AMC|BMO))
(\w{3}\s\d{2}\s(AMC|BMO))
*请注意,该模式可以得到您的非月模式!否则,您必须手动设置它们
<.*?>((Jan|Feb|....)\s\d{2}\s(AMC|BMO))
((一月|二月|…)\s\d{2}\s(AMC | BMO))
Python代码:
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])
重新导入
reg=r'(\w{3}\s\d{2}\s(AMC|BMO))'
text=‘1月29日资产管理公司’
Res=re.findall(注册,文本)
如果len(Res)!=0:
对于r in Res:
打印(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')
重新导入
reg=r'(\w{3}\s\d{2}\s(AMC|BMO))'
text=‘1月29日资产管理公司’
Res=重新匹配(注册,文本)
如果有的话:
打印('有效')
您也可以使用我标记为重复的问题中的解释
import dateutil.parser as DateParser
from datetime import datetime
text = '...sometext...>Jan 29 AMC<...sometext...'
parsed_date = DateParser.parse(text, fuzzy=True)
print(parsed_date)
#2019-01-29 00:00:00
将dateutil.parser导入为DateParser
从日期时间导入日期时间
text='…sometext…>1月29日请提供您尝试过的内容。如前所述,您的问题似乎是要求社区为您编写代码。可能重复感谢您的提示。这绝对不是让别人为我写代码的目的。我为这个问题奋斗了一段时间,我非常确定我不是唯一一个完成这项任务的人。重新设计问题,使解决方案对社区有益。真棒,非常好。链接(“演示”)也非常有用。