我的代码是:
0 -> 0
1 -> 1
2 -> 1
3 -> 2
4 -> 2
5 -> 3
6 -> 3
7 -> 4
8 -> 4
9 -> 5
10 -> 5
11 -> 6
12 -> 6
13 -> 7
14 -> 7
15 -> 8
16 -> 8
17 -> 9
18 -> 9
19 -> 10
20 -> 10
21 -> 11
22 -> 11
23 -> 0
我正在尝试在else块中处理04/09/2009,但是由于if部分在2009年与2位数字匹配,因此代码永远不会到达else部分。我不确定如何使正则表达式与过去的年份中的两位数字匹配,如果年份超过2位,则转到其他位置。
答案 0 :(得分:1)
您可以添加$
来指示字符串的结尾。以下是更新的if子句
s_list = ['04/09/09', '04/09/2009']
for s in s_list:
if(re.match('(\d{1,2})[/-](\d{1,2})[/-](\d{2}$)', s)):
print("We are at if: {0}".format(s))
else:
print("We are at else: {0}".format(s))
输出:
We are at if: 04/09/09
We are at else: 04/09/2009