【问题标题】:Python split regex matches into two variablesPython 将正则表达式匹配拆分为两个变量
【发布时间】:2023-02-03 01:03:59
【问题描述】:

我试图将 re.findall 匹配拆分为两个变量 - 一个用于日期,一个用于时间 - 但我找不到以某种方式拆分列表的方法。任何帮助表示赞赏!

txt = "created_at': datetime.datetime(2023, 1, 17, 11, 38, 26, tzinfo"
x = re.findall("datetime.datetime\((.+?)\, (.+?)\, (.+?)\, (.+?)\, (.+?)\, (.+?)\, tzinfo", txt)
print(x)
print(x[0:4])

这是我得到的结果

[('2023', '1', '17', '11', '38', '26')]
[('2023', '1', '17', '11', '38', '26')]

似乎 re.findall 并没有为每个发现创建一个列表,而是将其全部放入一个条目中。前 3 位数字是日期,后 3 位是时间。如果不能单独抓取每个项目,我真的不知道如何解决这个问题。

【问题讨论】:

  • 你试过x[0][0:3]吗?

标签: python regex python-2.7


【解决方案1】:

您可以使用列表理解来提取每个匹配项的必填字段。

res = [o[:4] for o in x]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    相关资源
    最近更新 更多