小编Ant*_*kov的帖子

Python:正则表达式中的可选组

我试图解析HTML img标记特定文档中,特别是我想找到所有的srcalt以及title图像的属性。属性总是以相同的顺序,但是titlealt 是可选的,他们可能是不存在的。

我试图(?: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)

python regex python-3.x

0
推荐指数
1
解决办法
3270
查看次数

标签 统计

python ×1

python-3.x ×1

regex ×1