用于图像src的正则表达式标签里面没有任何内容

时间:2018-11-09 09:00:38

标签: python regex

我想从图像src标签喜欢中提取

<img src=''/>
<img src=""/>
<img src="" alt="" id="75eb500af82b4f0c9e9006539f12163b " />
..

所以我用这个正则表达式

<img src=(""|'').*?/>

不起作用。

1 个答案:

答案 0 :(得分:1)

尽管不建议使用regex解析html,但是由于这是<img标签没有嵌套的情况,因此您可以使用此regex查找src标签不包含任何内容的所有img标签。在里面。

<img\s+src=(['"])\1.*?>

说明:

  • <img\s+->匹配<img标签,在字面上跟一个或多个空格
  • src= -->从字面上匹配src =
  • (['"]) -->匹配单引号或双引号
  • \1->根据实际匹配的内容匹配单引号或双引号
  • .*?>->后跟任何字符(非贪婪方式)零次或多次,后跟文字>表示img标签结尾的字符

Demo

此外,在您自己的原始正则表达式中,除了一件事之外,一切都很好,您需要在最后转义/字符。你应该写的,

<img src=(""|'').*?\/>

而不是

<img src=(""|'').*?/>