Extract image src from a string
javascript, node.js, regex
Solution
You need to use a capture group `()` to extract the urls, and if you're wanting to match globally `g`, i.e. more than once, when using capture groups, you need to use `exec` in a loop (`match` ignores capture groups when matching globally).
For example
var m,
urls = [],
str = '<img src="http://site.org/one.jpg />\n <img src="http://site.org/two.jpg />',
rex = /<img[^>]+src="?([^"\s]+)"?\s*\/>/g;
while ( m = rex.exec( str ) ) {
urls.push( m[1] );
}
console.log( urls );
// [ "http://site.org/one.jpg", "http://site.org/two.jpg" ]
Problem
I'm trying to match all the images elements as strings, This is my regex: ``` html.match(/<img[^>]+src="http([^">]+)/g); ``` This works, but I want to extract the `src` of all the images. So when I execute the regular expression on this String: `<img src="http://static2.ccn.com/ccs/2013/02/img_example.jpg />` it returns: `"http://static2.ccn.com/ccs/2013/02/img_example.jpg"`