编写REGEX以匹配img标记的src,height和width属性

MJJ*_*mes 1 regex

我正在尝试编写一个正则表达式来匹配图像标记上的src,width和height属性.宽度和高度是可选的.

我想出了以下内容:

(?:<img.*)(?<=src=")(?<src>([\w\s://?=&.]*)?)?(?:.*)(?<height>(?<=height=")\d*)?(?:.*)(?<width>(?<=width=")(\d*)?)?
Run Code Online (Sandbox Code Playgroud)

expresso显示这只匹配以下html片段的src位

<img src="myimage.jpg" height="20" />
<img src="anotherImage.gif" width="30"/>
Run Code Online (Sandbox Code Playgroud)

我希望我真的很亲密,有人在这里可以指出我做错了什么,我有一种感觉,我在角色之间的选择位(?:.*)我试过让它变得非贪婪而没有成功.任何指针?

Dav*_*ebb 9

使用正则表达式从HTML中提取值总是一个错误.它可能首先出现的HTML语法要复杂得多,而且即使是非常复杂的正则表达式,页面也很容易识别出来.

请改用HTML Parser.

此问题之前已被提出,将再次提出.正则表达式确实是这个问题的一个很好的选择,但它们不是.