一种可能性:
String imgRegex = "<img[^>]+src\s*=\s*['"]([^'"]+)['"][^>]*>";
是可能的(如果不区分大小写地匹配)。这有点混乱,故意忽略了不使用引号的情况。要表示它而不必担心字符串转义:
<img[^>]+srcs*=s*['"]([^'"]+)['"][^>]*>
这符合:
<img
- 一个或多个不是的字符
>
(即可能的其他属性) src
- 可选空格
=
- 可选空格
'
或的起始定界符"
- 图片来源 (可能不包含单引号或双引号)
- 结束定界符
- 尽管表达式可以在此处停止,但我随后添加:
- 零个或多个不是的字符
>
(更多可能的属性) >
关闭标签
- 零个或多个不是的字符
注意事项:
- 如果您还想包括
src=
,请将左方括号向左移动:-) - 这并不关心平衡定界符或无定界符属性值,并且它也可以呛严重形成的属性(例如包括属性
>
包括或图像源'
或"
)。 - 用这样的正则表达式解析HTML是不平凡的,充其量是一种在大多数情况下都可以使用的快速破解。



