为什么这个正则表达式不起作用:r'.*logo.*'

use*_*968 0 python regex string

我希望以下正则表达式匹配,但事实并非如此.为什么?

import re
html = '''
                <a href="#">
                    <img src="logo.png" alt="logo" width="100%">
                    </img>
                 </a>
  '''
m = re.match( r'.*logo.*', html, re.M|re.I)

if m: 
    print m.group(1)
if not m:
    print "not found"
Run Code Online (Sandbox Code Playgroud)

Ada*_*ith 11

我们不使用正则表达式来解析HTML.

在我之后重复:我们不使用REGEX到PARSE HTML.

也就是说,它不起作用,因为re.match显式只检查行的开头.使用re.searchre.findall代替.

  • *推荐美味的汤.* (3认同)
  • 这个答案比我的好,因为它解决了问题的根源. (2认同)