请大家帮忙给看一下问题出在哪里,谢谢
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)
你的正则表达式中匹配的日期格式有误,如: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() 。