-2

我已经使用 scrapy 从黄页中抓取了一些数据。

抓取提供的营业时间为 12 小时制,我需要将其转换为 24 小时制。

我抓取的营业时间格式为:

Mon - Fri:,10:00 am - 7:00 pm.

我需要提取打开和关闭时间的两个值,将它们都转换为 24 小时格式,然后再次将字符串连接在一起。

因此,我需要设计一个正则表达式来提取时间,然后将其更改为 24 小时格式。最后的字符串应该(根据前面的例子)应该是:

Mon - Fri:,10:00 - 19:00

我尝试了不同的正则表达式。我尝试了以下方法:

import re

txt = 'Mon - Fri:,10:00 am - 7:00 pm'
data = re.findall(r'\s(\d{2}\:\d{2}\s?(?:AM|PM|am|pm))', txt)
print(data)
4

1 回答 1

1

我不是 python 开发人员,但我们可以在 javascript 中以这种方式。你可以将逻辑转换成python

通过这种方式,您可以将此时间转换为军事时间(24 小时)

https://jsfiddle.net/1hxojLdf/2/

let text='Mon - Fri:,10:00 am - 7:00 pm';
const regex=/(\w+\s-\s\w+:.)(\d{1,2}:\d{1,2}\s(am|pm))\s-\s(\d{1,2}:\d{1,2}\s(am|pm))/;
const result=text.match(regex);
let timeone=result[2];
let timetwo=result[4];
timeone= moment(timeone,"h:mm A").format('HH:mm');
timetwo= moment(timetwo,"h:mm A").format('HH:mm');

text=result[1]+timeone+"-"+timetwo;
alert(text)
于 2020-05-19T21:22:56.647 回答