【问题标题】:Extracting time from text using REGEX giving output as NONE使用正则表达式从文本中提取时间,输出为 NONE
【发布时间】:2022-01-21 12:02:39
【问题描述】:

我有这样的文字。

string = '\n# From r Wed Oct 30 21:41:56 2002\n# Return-Path: <james_ngola2002@maktoob.com>\n# X-Sieve: cmu-sieve 2.0\nReturn-Path: <james_ngola2002@maktoob.com>\n# Message-Id: <200210310241.g9V2fNm6028281@cs.CU>\n# From: "MR. JAMES NGOLA." <james_ngola2002@maktoob.com>\n# Reply-To: james_ngola2002@maktoob.com\n# To: webmaster@aclweb.org\n# Date: Thu, 31 Oct 2002 02:38:20 +0000'

我想从这个字符串中提取日期和时间。我已经尽力了。

import re
regex = re.compile(r'\b\d{4}[-/]\d{2}[-/]\d{2}\s\d{2}:\d{2}:\d{2}\s[-+]\d{4}\b')
regex.findall(string)

输出

[]

预期输出。

['02:38:20', '21:41:56']

注意: 使用正则表达式提取日期和时间的问题在整个互联网上都有各种各样的答案。我已经尝试了每一个建议。但是,我仍然没有得到任何输出。我猜字符串有问题?你们能帮我看看我在做什么吗?

【问题讨论】:

  • 字符串中没有匹配的日期时间。
  • 在拥有所有日期的情况下仅提取时间似乎是一个未来的问题。

标签: python regex


【解决方案1】:
regex = re.compile(r'\b\d{2}:\d{2}:\d{2}\b')
regex.findall(string)

输出

['21:41:56', '02:38:20']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多