我试图解析HTML img标记特定文档中,特别是我想找到所有的src,alt以及title图像的属性。属性总是以相同的顺序,但是title和alt 是可选的,他们可能是不存在的。
我试图(?:title="(.*?)")?在正则表达式中使组成为可选,但是它不起作用。任何帮助,将不胜感激。
example = '<img class="alignnone wp-image-4170 size-full" title="example_title" src="http://www.example.com/wp-content/uploads/2016/07/example.jpg" alt="example_alt" width="300" height="430" />'
re.search(r'(?:title="(.*?)")?.*?src="(.*?)".*?(?:alt="(.*?)")?', example).groups()
>>> (None, 'http://www.example.com/wp-content/uploads/2016/07/example.jpg', None)
Run Code Online (Sandbox Code Playgroud)
预期结果将是:
('example_title', 'http://www.example.com/wp-content/uploads/2016/07/example.jpg', 'example_alt')
Run Code Online (Sandbox Code Playgroud)