【问题标题】:Why does match returns None while findall doesn't?为什么 match 返回 None 而 findall 不返回?
【发布时间】:2013-05-30 14:33:05
【问题描述】:

我有这个字符串:

s = "mage('Images/mpins/pin5_Jul1.png', new"

这是我的模式:

patt_img = r'\w+.png'

为什么

re.findall(patt_img,s)

返回

['pin5_Jul1.png']

但是match 返回None

m = re.match(patt_img,s)
>>> type(m)
<type 'NoneType'>`

【问题讨论】:

    标签: python regex match


    【解决方案1】:

    因为match 只匹配从字符串的开头开始。

    如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回对应的MatchObject实例。

    如果您想在字符串中找到匹配的任意位置,请改用search()

    【讨论】:

    • 嗯,是的。我一直忘记这件事。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2011-10-19
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多