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

*? +?的非贪婪模式

老师描述的时候说*?之匹配0次而+?只匹配一次,那为什么*?匹配到了一个元素而+?匹配到了两个而不是*?不匹配+?匹配一个呢?

提问者:无酒不欢滴酒必醉 2017-02-15 12:36

个回答

  • 小叶柏杉
    2017-02-15 14:47:23

    [0-9][a-z]*? 匹配2个 因为[0-9]要匹配一个,[a-z]*?最少匹配0个,所以[0-9][a-z]*?就是1个元素

    +?最少匹配一个  [0-9][a-z]+? 就是2个元素

    ( 上面那个打错了 )

  • 小叶柏杉
    2017-02-15 14:46:01

    [0-9][a-z]*? 匹配2个 因为[0-9]要匹配一个,[a-z]*?最少匹配0个,所以[0-9][a-z]*?就是2个元素

    +?最少匹配一个