【发布时间】:2019-08-18 13:35:18
【问题描述】:
在这个作业中,需要的输入格式如下:
Regular: 16Mar2009(mon), 17Mar2009(tues), 18Mar2009(wed) ...
Reward: 26Mar2009(thur), 27Mar2009(fri), 28Mar2009(sat)
Regular 或 Reward 是客户类型的名称。我是这样分隔这个字符串的。
entry_list = input.split(":") #input is a variable
client = entry_list[0] # only Regular or Reward
dates = entry_list[1] # only dates
days = dates.split(",")
但现在我需要在天数列表中计算工作日或周末:
days = [' 16Mar2009(mon)', ' 17Mar2009(tues)', ' 18Mar2009(wed)']
如果是星期一星期三星期四星期五,都算作工作日,我需要知道输入有多少个工作日。
当它是星期六,太阳必须算作周末,我需要知道输入有多少个周末。
如何在python中编写一个正则表达式来搜索这个列表中的所有工作日和周末并计算它们,将工作日和周末的数量放在两个不同的计数器中?
编辑
我编写了这个函数来检查日期是否为写入格式,但它不起作用:
def is_date_valid(date):
date_regex = re.compile(r'(?:\d{1,2}[A-Za-z]{3}\d{4}\([A-Za-z]{3}\),\s+){2}\d{1,2}[A-Za-z]{3}\d{4}\([A-Za-z]{3}\)$')
m = date_regex.search(date)
m 只返回 None
【问题讨论】:
-
到目前为止你尝试了什么?
-
我用我试过的东西编辑了。
标签: python regex search built-in findall