const regex = /(Trotzdem\s*?(?:<\/?[^>]*?>)?\s*?gibt\s*?(?:<\/?[^>]*?>)?\s*?es\s*?(?:<\/?[^>]*?>)?\s*?Untersuchungen,\s*?(?:<\/?[^>]*?>)?\s*?die\s*?(?:<\/?[^>]*?>)?\s*?nahelegen,\s*?(?:<\/?[^>]*?>)?\s*?dass\s*?(?:<\/?[^>]*?>)?\s*?bis\s*?(?:<\/?[^>]*?>)?\s*?zu\s*?(?:<\/?[^>]*?>)?\s*?20%\s*?(?:<\/?[^>]*?>)?\s*?der\s*?(?:<\/?[^>]*?>)?\s*?Studierenden\s*?(?:<\/?[^>]*?>)?\s*?in\s*?(?:<\/?[^>]*?>)?\s*?Deutschland\s*?(?:<\/?[^>]*?>)?\s*?während\s*?(?:<\/?[^>]*?>)?\s*?der\s*?(?:<\/?[^>]*?>)?\s*?Prüfungsvorbereitung\s*?(?:<\/?[^>]*?>)?\s*?Ritalin\s*?(?:<\/?[^>]*?>)?\s*?einschmeissen\s*?(?:<\/?[^>]*?>)?\s*?\[2\],\s*?(?:<\/?[^>]*?>)?\s*?Reportagen,\s*?(?:<\/?[^>]*?>)?\s*?dass\s*?(?:<\/?[^>]*?>)?\s*?britische\s*?(?:<\/?[^>]*?>)?\s*?Studierende\s*?(?:<\/?[^>]*?>)?\s*?Modafinil\s*?(?:<\/?[^>]*?>)?\s*?bestens\s*?(?:<\/?[^>]*?>)?\s*?kennen\[3\]\s*?(?:<\/?[^>]*?>)?\s*?und\s*?(?:<\/?[^>]*?>)?\s*?Studierende\s*?(?:<\/?[^>]*?>)?\s*?weltweit\s*?(?:<\/?[^>]*?>)?\s*?auch\s*?(?:<\/?[^>]*?>)?\s*?nach\s*?(?:<\/?[^>]*?>)?\s*?der\s*?(?:<\/?[^>]*?>)?\s*?Silk\s*?(?:<\/?[^>]*?>)?\s*?Road — einem\s*?(?:<\/?[^>]*?>)?\s*?mittlerweile\s*?(?:<\/?[^>]*?>)?\s*?eingestellten\s*?(?:<\/?[^>]*?>)?\s*?Schwarzmarkt\s*?(?:<\/?[^>]*?>)?\s*?im\s*?(?:<\/?[^>]*?>)?\s*?Deep\s*?(?:<\/?[^>]*?>)?\s*?Web – mit\s*?(?:<\/?[^>]*?>)?\s*?illegalen\s*?(?:<\/?[^>]*?>)?\s*?„Nootropics“\s*?(?:<\/?[^>]*?>)?\s*?experimentieren\.)/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(Trotzdem\\s*?(?:<\\\/?[^>]*?>)?\\s*?gibt\\s*?(?:<\\\/?[^>]*?>)?\\s*?es\\s*?(?:<\\\/?[^>]*?>)?\\s*?Untersuchungen,\\s*?(?:<\\\/?[^>]*?>)?\\s*?die\\s*?(?:<\\\/?[^>]*?>)?\\s*?nahelegen,\\s*?(?:<\\\/?[^>]*?>)?\\s*?dass\\s*?(?:<\\\/?[^>]*?>)?\\s*?bis\\s*?(?:<\\\/?[^>]*?>)?\\s*?zu\\s*?(?:<\\\/?[^>]*?>)?\\s*?20%\\s*?(?:<\\\/?[^>]*?>)?\\s*?der\\s*?(?:<\\\/?[^>]*?>)?\\s*?Studierenden\\s*?(?:<\\\/?[^>]*?>)?\\s*?in\\s*?(?:<\\\/?[^>]*?>)?\\s*?Deutschland\\s*?(?:<\\\/?[^>]*?>)?\\s*?während\\s*?(?:<\\\/?[^>]*?>)?\\s*?der\\s*?(?:<\\\/?[^>]*?>)?\\s*?Prüfungsvorbereitung\\s*?(?:<\\\/?[^>]*?>)?\\s*?Ritalin\\s*?(?:<\\\/?[^>]*?>)?\\s*?einschmeissen\\s*?(?:<\\\/?[^>]*?>)?\\s*?\\[2\\],\\s*?(?:<\\\/?[^>]*?>)?\\s*?Reportagen,\\s*?(?:<\\\/?[^>]*?>)?\\s*?dass\\s*?(?:<\\\/?[^>]*?>)?\\s*?britische\\s*?(?:<\\\/?[^>]*?>)?\\s*?Studierende\\s*?(?:<\\\/?[^>]*?>)?\\s*?Modafinil\\s*?(?:<\\\/?[^>]*?>)?\\s*?bestens\\s*?(?:<\\\/?[^>]*?>)?\\s*?kennen\\[3\\]\\s*?(?:<\\\/?[^>]*?>)?\\s*?und\\s*?(?:<\\\/?[^>]*?>)?\\s*?Studierende\\s*?(?:<\\\/?[^>]*?>)?\\s*?weltweit\\s*?(?:<\\\/?[^>]*?>)?\\s*?auch\\s*?(?:<\\\/?[^>]*?>)?\\s*?nach\\s*?(?:<\\\/?[^>]*?>)?\\s*?der\\s*?(?:<\\\/?[^>]*?>)?\\s*?Silk\\s*?(?:<\\\/?[^>]*?>)?\\s*?Road — einem\\s*?(?:<\\\/?[^>]*?>)?\\s*?mittlerweile\\s*?(?:<\\\/?[^>]*?>)?\\s*?eingestellten\\s*?(?:<\\\/?[^>]*?>)?\\s*?Schwarzmarkt\\s*?(?:<\\\/?[^>]*?>)?\\s*?im\\s*?(?:<\\\/?[^>]*?>)?\\s*?Deep\\s*?(?:<\\\/?[^>]*?>)?\\s*?Web – mit\\s*?(?:<\\\/?[^>]*?>)?\\s*?illegalen\\s*?(?:<\\\/?[^>]*?>)?\\s*?„Nootropics“\\s*?(?:<\\\/?[^>]*?>)?\\s*?experimentieren\\.)', 'g')
const str = `<p>Die <span class="caps">GDS</span> zeichnet also das Bild einer Gesellschaft, in der Drogen primär Rausch, Genuss und Spass sind. Tabak ist zwar das bekannteste – und ungesündeste – Mittel gegen Stress, aber sonst sind die Leistungssteigerer in der Liste weit abgeschlagen. Trotzdem gibt es Untersuchungen, die nahelegen, dass bis zu 20% der Studierenden in Deutschland während der Prüfungsvorbereitung Ritalin einschmeissen <a href="#_ftn2" name="_ftnref2">[2]</a>, Reportagen, dass britische Studierende Modafinil bestens kennen<a href="#_ftn3" name="_ftnref3">[3]</a> und Studierende weltweit auch nach der <a href="https://de.wikipedia.org/wiki/Silk_Road" target="_blank">Silk Road</a> — einem mittlerweile eingestellten Schwarzmarkt im Deep Web – mit illegalen „Nootropics“ experimentieren.</p>`;
// 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