Lädt...

Reguläre Ausdrücke

Ein Muster, das über Text läuft, ist ein regulärer Ausdruck. /tea/ fragt nur, ob tea vorkommt. replace liefert eine neue Zeichenkette und setzt an dieser Stelle mint. Die Notiz note lautet Order: tea, und die sichtbare Zeile lautet true / Order: mint.

Die Karte hat gespeichert, diese Seite sucht

Bei lida / mint / 2 endete die Kartenseite, denn dort wurde abgelegt. Hier wird kein Gast abgelegt. Gesucht wird in einer Zeichenkette. Geht die Suche fehl, kommt false oder null zurück, und es wird nichts geworfen.

Drinnen, oder gar nicht da

mint tea enthält das Muster schon, also ist /tea/.test("mint tea") true. lemon trägt es nicht, also ist /tea/.test("lemon") false. Das Flag i lässt die Groß- und Kleinschreibung weg, darum trifft /tea/i auch Tea.

Kommt tea im Text vor

javascript
console.log(/tea/.test("mint tea"));
console.log(/tea/.test("lemon"));

Die Konsole zeigt zuerst true und danach false. Ein Punkt steht für genau ein Zeichen, das kein Zeilenumbruch ist, deshalb trifft /t.a/ ebenfalls tea. Ein echter Punkt wird als Backslash und Punkt geschrieben: .

Anfang und Ende verlangen

^ heißt Anfang, $ heißt Ende. /^tea$/ lässt tea zu und weist mint tea ab. Fehlen die beiden Marken, genügt /tea/ auch mitten in einer längeren Notiz.

Die ganze Bestellung

javascript
console.log(/^tea$/.test("tea"));
console.log(/^tea$/.test("mint tea"));

Auch diese Konsole zeigt true und dann false. Die Buchstaben stecken in mint tea, nur tea allein ist der Text nicht.

Jede Kopie, dann eine neue Zeichenkette

Mit dem Flag g gibt match jede Kopie einzeln zurück. replace mit g tauscht jede Kopie und gibt eine neue Zeichenkette zurück. note bleibt, bis du das Ergebnis zuweist.

Beide Kopien, danach tauschen

javascript
const note = "tea and tea";
console.log(note.match(/tea/g));
console.log(note.replace(/tea/g, "mint"));
console.log(note);

Das erste Protokoll ist ein Array aus zwei tea-Zeichenketten. Das zweite lautet mint and mint. Das dritte bleibt tea and tea, denn replace hat note nicht angefasst. Ohne g wechselt nur das erste tea. Trifft nichts, liefert match den Wert null und kein leeres Array.

Die Form der Antwort wählt die Methode

Nimm die Methode nach der Form, die du zurückhaben willst.

📊 Was jede Methode zurückgibt

Methode Form der Antwort An dieser Notiz
/tea/.test(note) true oder false true für Order: tea
note.match(/tea/) ein Treffer-Array oder null das Wort tea und seine Stelle
note.match(/tea/g) jede Kopie oder null zwei Treffer in tea and tea
note.replace(/tea/, "mint") eine neue Zeichenkette Order: mint

test sagt nur ja oder nein. match gibt dir die Stücke. replace gibt dir den umgeschriebenen Text. Behalten tust du ihn, indem du ihn zuweist.

Beide Ergebnisse auf eine Zeile

Die Seite prüft Order: tea, tauscht das Getränk und schreibt beide Ergebnisse.

Die Zeile aus test und replace

html
<!DOCTYPE html>
<html>
<body>
<p id="line">…</p>
<script>
const note = "Order: tea";
const found = /tea/.test(note);
const next = note.replace(/tea/, "mint");
document.querySelector("#line").textContent = found + " / " + next;
</script>
</body>
</html>

Die Zeile lautet true / Order: mint. note selbst ist weiterhin Order: tea. lida / mint / 2 gehörte zur Kartenseite.

Fünf kurze Versuche

  1. mint tea mit /tea/ prüfen. Ergebnis true.
  2. lemon mit /tea/ prüfen. Ergebnis false.
  3. mint tea mit /^tea$/ prüfen. Ergebnis false.
  4. tea and tea mit /tea/g abgleichen. Die Länge ist 2.
  5. Die Seite lesen. Die Zeile ist true / Order: mint.

Stolperstellen und was hängen bleibt

Ohne ^ und $ trifft ein Muster ein Stück, nicht die ganze Notiz. replace schreibt das Original nicht um.

  • null.length nicht lesen, wenn match nichts gefunden hat
  • nicht erwarten, dass replace note an Ort und Stelle ändert
  • g nicht auf einen Ausdruck setzen, den du mit test wiederverwendest, denn er merkt sich, wo er stehen blieb
  • einen echten Punkt als Backslash und Punkt schreiben
  • die Zeile nicht als lida / mint / 2 lesen

Behalten

  • test antwortet true oder false
  • /^tea$/ akzeptiert nur die ganze Zeichenkette tea
  • match mit g listet jede Kopie oder gibt null zurück
  • replace gibt eine neue Zeichenkette zurück
  • die Zeile der Seite ist true / Order: mint

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
5
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt