const regex = /<a href="http.*soundcloud.com.*sets\/(.*).*<\/a>/gi;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<a href="http.*soundcloud.com.*sets\\\/(.*).*<\\\/a>', 'gi')
const str = `the following URL will be found in a <A>:<br>
<em><a href="https://www.youtube.com/watch?t=61&v=JozAmXo2bDE" rel="nofollow">https://www.youtube.com/watch?t=61&v=JozAmXo2bDE</a>
<br>
<a href="https://soundcloud.com/buzzdeny/sets/deutsch-er-hiphop-rap" rel="nofollow">https://soundcloud.com/buzzdeny/sets/deutsch-er-hiphop-rap</a>
<a href="https://www.youtube.com/watch?v=VH2QAMMSL40" rel="nofollow">https://www.youtube.com/watch?v=VH2QAMMSL40</a>
<br>
<a href="http://www.youtube.com/embed/NLqAF9hrVbY" rel="nofollow">http://www.youtube.com/embed/NLqAF9hrVbY</a>
<br>
<a href="http://youtu.be/NLqAF9hrVbY" rel="nofollow">http://youtu.be/NLqAF9hrVbY</a>
</em><br>
<a href="http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/FJUvudQsKCM" rel="nofollow">http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/FJUvudQsKCM</a>
</p>
<a href="/uploads/files/1438381231924-humanistische-friedenspartei.mp3">Humanistische - Friedenspartei.mp3</a>
<p>nice... <a href="/uploads/files/1438418374790-drumloop053_ambnt_160_x_sc5.wav">DRUMLOOP053_AMBNT_160_X_SC5.wav</a></p>
<a href="/uploads/files/1438418374790-drumloop053_ambnt_160_x_sc5.wav">DRUMLOOP053_AMBNT_160_X_SC5.wav</a>
<p>infos:<br>
<a href="https://github.com/ogerly/nodebb-plugin-youtube-lite/blob/master/library.js" rel="nofollow">https://github.com/ogerly/nodebb-plugin-youtube-lite/blob/master/library.js</a></p>
<p><a href="https://github.com/ogerly/nodebb-plugin-youtube-lite" rel="nofollow">https://github.com/ogerly/nodebb-plugin-youtube-lite</a></p>
</div>`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions