看不懂这行蟒蛇代码

  • 本文关键字:代码 不懂 python regex
  • 更新时间 :
  • 英文 :

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

我是Python的初学者。我对Python中的正则表达式略知一二。。例如:\d表示匹配的0个或多个数字。

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

text1 = '11/27/2012' 

使用字符串值设置text1。

import re 

导入正则表达式模块。

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

如果text1与正则表达式'\d+/\d+/\d+'匹配,则为True,否则为False。正则表达式'\d+/\d+/\d+'描述了一个数字,该数字包含一个或多个数字,后跟一个"/",后跟另一个一个或几个数字,后跟"/"和另一个又一个一位数或多位数。换言之,一个日期,尽管它也会匹配"123/12345/1234567",而"123/121234567"不是日期,所以有比这个特定的正则表达式更好的正则表达式来匹配日期。

print('YES')

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

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

最新更新