无法从中提取时间第谷美国海军百万/定时器.html带正则表达式

2024-10-02 18:26:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从US Naval Observatory Master Clock Time网页中提取EDT,MDT的时间。我一直试图用关于芬德尔但我不能。我正在使用以下regex \d{2}\:\d{2}\:\d{2}\s(AM|PM)\s(MDT|PDT)。输出只有PM和MDT或PDT。在


Tags: master网页time时间amregexusobservatory
1条回答
网友
1楼 · 发布于 2024-10-02 18:26:20

首先,这是一个HTML页面,将regex与HTML(或任何嵌套/分层数据)一起使用是一个bad idea。也就是说,考虑到页面的相对简单性,我们可以让它在这个实例中滑动,但请记住,这不是推荐的方法。在

您的问题是,^{}如果模式包含捕获组,^{}只返回捕获的组((AM|PM)(MDT|PDT))。您可以将它们变成非捕获组来收集整个模式,即:

matches = re.findall(r"\d{2}:\d{2}:\d{2}\s(?:AM|PM)\s(?:MDT|PDT)", your_data)

或者,也可以使用^{}并提取匹配项:

^{pr2}$

相关问题 更多 >