问答详情
源自:3-2 python正则表达式语法(二)

匹配的问题

ma = re.match(r'[1-9]?[0-9]', '09')

最后ma.group出来的是‘0’老师解释没听明白啊。

提问者:Liaobaozai 2017-09-10 17:35

个回答

  • Poison丶刺心
    2017-09-11 11:17:52
    已采纳

    [1-9]?[0-9]:

    这个里面是两个部分[1-9]?和[0-9]

    第一部分:是匹配1到9之间的数字出现0次或1次

    第二部分:是匹配0到9之间的数字至少出现一次

    所以匹配‘09’这个字符串的时候,第一部分中不包含‘0’这个字符串,暂时的匹配结果为‘’(即空字符串),所以执行第二部分,第二部分包含‘0’,暂时的匹配结果为‘0’,匹配结束,输出结果‘0’