蜜桃小茉莉 2023-01-18 16:44 采纳率: 0%
浏览 14

python 用正则表达式获取字符串中的日期

用正则表达式匹配日期
程序运行没有报错,但是没有任何结果输出

请大家帮忙给看一下问题出在哪里,谢谢


import re

dateregex = re.compile(r'''(
    (\d{4}/\d{1,2}/\d{1,2})|
    (\d{4}[\u4e00-\u9fa5]\d{1,2}[\u4e00-\u9fa5]\d{1,2}[\u4e00-\u9fa5])|
    (\d{1,2}[\u4e00-\u9fa5]\d{1,2}[\u4e00-\u9fa5])
    )''',re.VERBOSE)
text = '2022年12月18日 2023年1月5日 2023年1月18日 2022/5/8 2022/12/5 2023/1/18 8月1日 12月25日 1月18日'
groups = dateregex.findall(text)
print(groups)

  • 写回答

2条回答 默认 最新

  • m0_54204465 2023-01-18 16:51
    关注

    你的正则表达式中匹配的日期格式有误,如:2022年12月18日 和 2022/5/8 。

    你可以把正则表达式中的年月日的格式修改为 (\d{4})年(\d{1,2})月(\d{1,2})日,或者 (\d{4})/(\d{1,2})/(\d{1,2}) 。

    还有,你可以使用 re.search() 或 re.finditer() 来查找匹配,而不是 re.findall() 。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月18日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大