# Regex Beispiel Am besten löst man das mit einem regulären Ausdruck, der entweder nach **Inhalten in Anführungszeichen** sucht _oder_ nach **Inhalten ohne Kommas**. Hier ist der passende Reguläre Ausdruck: `/"([^"\\]*(?:\\.[^"\\]*)*)"|([^,]+)/g` --- ### Wie der Regex funktioniert Der Ausdruck nutzt das **ODER-Prinzip (`|`)**, um zwei Szenarien zu matchen: 1. **`"([^"\\]*(?:\\.[^"\\]*)*)"` (Gruppe 1):** Matcht alles, was in doppelten Anführungszeichen steht. Er erlaubt sogar escaped Anführungszeichen (`\"`) im Text. 2. **`([^,]+)` (Gruppe 2):** Wenn keine Anführungszeichen da sind, matcht er alles bis zum nächsten Komma. --- ### Anwendung in JavaScript (Beispiel) Da du das Ergebnis sicherlich in einem Array von einzelnen Werten brauchst, kannst du den Regex wie folgt anwenden. Hierbei nutzen wir `matchAll`, um die Treffer sauber zu trennen und die Anführungszeichen direkt zu entfernen: ```javascript const input = '"very big, soft computer mouse","the cutest peripheral ever",10,39.90'; const regex = /"([^"\\]*(?:\\.[^"\\]*)*)"|([^,]+)/g; const matches = [...input.matchAll(regex)]; const result = matches.map((match) => { // Wenn Gruppe 1 existiert, war es ein String in Anführungszeichen // Wenn Gruppe 2 existiert, war es ein unberührter Wert (Zahl) const value = match[1] !== undefined ? match[1] : match[2].trim(); // Optional: Datentypen konvertieren if (!isNaN(value) && value !== '') { return Number(value); } return value; }); console.log(result); ``` ### Das Ergebnis (Output) Nach dem Parsen erhältst du ein sauberes Array, bei dem die Kommas innerhalb der Strings ignoriert wurden und die Zahlen einsatzbereit sind: ```json ["very big, soft computer mouse", "the cutest peripheral ever", 10, 39.9] ```