You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python正则从JSON字段提取时间并忽略时间内部的空格

正则调整方案

你只需要修改匹配规则即可,无需全局替换空格,调整后的正则表达式为:
\d{1,2}(?:[:.]\s?\d{2})?

改动说明

  • 在原有的时间分隔符[:.]后新增\s?规则,可匹配冒号/点与分钟数字之间0个或1个空格,刚好覆盖14: 30这类带空格的时间格式,不会匹配到其他无关位置的空格,不会破坏普通文本内容
  • 用非捕获组(?:)将「分隔符+分钟」部分包裹,后加?表示该部分可选,既可以匹配带分钟的时间格式,也可以匹配纯小时的整点数字
  • 分钟部分仅匹配2位数字,不会误提取周六字段中1600.0000这类无效时间内容

效果验证

拿周五的时间字符串10 - 13 + 14: 30 - 18.30测试,提取结果为:
['10', '13', '14: 30', '18.30'],完全符合你要求的第一步提取结果。

完整代码示例

for day in row['opening_hours']:
    time_list = re.findall(r'\d{1,2}(?:[:.]\s?\d{2})?', row['opening_hours'][day])
    # 此处可继续添加你的标准格式转换逻辑

内容的提问来源于stack exchange,提问作者sandeepsinghnegi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:27:03