Die Suche nach einem einfachen String gibt den ersten Treffer zurück, falls das Suchmuster gefunden wird, und null sonst.
Das Word "Zug" hat viele Bedeutungen: das Verkehrsmittel der Bahn, der Zug durch offene Fenster, der Rosenmontagszug oder der Schachzug.
// Suche mit einfachem String let result = text.match("Zug"); // Suche mit regulärem Ausdruck und Modifieren let result = text.match(/zug/ig);
Wenn alle Vorkommen von »zug« oder »Zug« unabhängig von Groß- und Kleinschreibung gefunden werden sollen, muss match() mit einem regulären Ausdruck aufgerufen werden. Reguläre Ausdrücke suchen mit mehr oder minder komplizierten Suchmustern.
Im einfachsten Fall sitzt der Teilstring innerhalb eines öffnenden und schließenden Schrägstrichs. Die Modifier i (case insensitiv) und g (global) erweitern die einfache Suche: mit i ignoriert match() Klein- und Großschreibung, mit g durchsucht match() den kompletten String.
match() mit regulärem Ausdruck
Interessant wird die Suche mit match(), wenn verschiedene Ausdrücke bzw. Schreibweisen und Varianten gefiltert werden sollen. Ganz simpel: Finde Häßler in allen Schreibweisen.
let mynam = document.querySelector("#mynam").innerHTML; ae oder ä oder e ---+ +---ss oder ß | | | | +-- global im gesamten String | | | let treffer = mynam.match(/H(ae|ä|e)(ss|ß)ler/ig); | +-- ignore case let allmatches = document.querySelector("#allmatches"); allmatches.innerHTML = treffer;
Und auch einfach: Findet Ziffern im Text.
let ziffern = document.querySelector("#ziffern").innerHTML; let alleziffern = ziffern.match (/\d+/g); function listArray (elem, index) { document.querySelector("#ziffernres").innerHTML += "index [" + index + "] " + elem.trim() + "<br>".trim(); } alleziffern.forEach (listArray);
Suche nach HTML-Tags in einem Text
Programmcode
abgegrenzt sind.<div> <a href="/javascript/Javascript-Strings.html">Strings</a> sind <em>Zeichenketten</em> aus Wörtern, Zeichen oder Ziffern, die durch einfache oder doppelte <strong>Hochkommas</strong> vom <code>Programmcode</code> abgegrenzt sind. </div>
["<div>", "<a href=\"/javascript/Javascript-Strings.html\">", "</a>", "<em>", "</em>", "<strong>", "</strong>", "<code>", "</code>", "</div>"] (10)
let matchTag = /<(?:.|\s)*?>/g; let result = text.match (matchTag); console.log (result);