为什么这个正则表达式代码不起作用?

时间:2013-05-10 18:41:15

标签: python regex

line2 = '<div <a href="link" onmouseover="vli(this,7483989,1,4,5);"></div>'

matchObj = re.match( r'href="(.*?)"', line2)

if matchObj:
   print "matchObj.group() : ", matchObj.groups()
else:
   print "No match!!"

输出“No match !!”。不应输出['link']

1 个答案:

答案 0 :(得分:4)

您需要使用re.search代替re.matchre.match只会在字符串的开头匹配。

来自docs for re.match

  

请注意,即使在MULTILINE模式下,re.match()也仅匹配   字符串的开头而不是每行的开头。

     

如果要在字符串中的任何位置找到匹配项,请改用search()   (另请参阅search()与match())。