无法理解这行Python代码

时间:2018-07-22 08:34:54

标签: python regex

text1 = '11/27/2012'
import re
if re.match(r'\d+/\d+/\d+', text1): 
  print('YES')

我是Python的初学者。 我知道关于Python中的正则表达式的一两件事。例如:\ d表示匹配0或多个数字。

上面的表达式是什么-第三行-在做什么?更具体地说,编写'\d+/\d+/\d+'的意义是什么?

1 个答案:

答案 0 :(得分:0)

text1 = '11/27/2012' 

使用字符串值设置text1。

import re 

导入正则表达式模块。

if re.match(r'\d+/\d+/\d+', text1)

True,如果text1与正则表达式'\ d + / \ d + / \ d +'相匹配,否则为False。正则表达式'\ d + / \ d + / \ d +'描述了一个包含一个或多个数字的数字,后跟一个“ /”,然后是一个或多个数字的另一个数字,后跟一个“ /”,然后是另一个数字一个或多个数字。用其他字词表示的日期,尽管它也将匹配“ 123/12345/1234567”(不是日期),因此与该特定日期相比,用于匹配日期的regex表达式更好。

print('YES')

如果上一条语句为True,则在控制台窗口中打印“是”,否则不打印任何内容。

因此此代码将输出YES,因为text1包含根据正则表达式正确格式化的日期。如果您尝试使用text1中存储的值,则可以测试正则表达式的行为,即测试代码是否输出YES。