How do I extract HTML img sources with a regular expression?

asp-classic, regex, vbscript

Solution

The following regexp snippet should work.

<img[^>]+src="([^">]+)"

It looks for text that starts with `<img`, followed by one or more characters that are not `>`, then `src="`. It then grabs everything between that point and the next `"` or `>`.

But if at all possible, use a real HTML parser. It's more solid, and will handle edge cases much better.

Problem

I need to extract the src element from all image tags in an HTML document. So, the input is an HTML page and the output would be a list of URL's pointing to images: ex... http://www.google.com/intl/en_ALL/images/logo.gif The following is what I came up with so far: ``` <img\s+src=""(http://.*?) ``` This does not work for tags where the src isn't directly after the img tag, for example: ``` <img height="1px" src="spacer.gif"> ``` Can someone help complete this regular expression? It's pretty easy, but I thought this may be a faster way to get an answer.

Original source

Related problems