Ich versuche, die folgende Art von Zeichenfolge zu analysieren:
[key:"val" key2:"val2"]
wo es beliebige Schlüssel gibt: "val" Paare im Inneren. Ich möchte den Schlüsselnamen und den Wert erfassen. Für diejenigen, die neugierig sind, versuche ich, das Datenbankformat von Task Warrior zu analysieren.
Hier ist meine Testzeichenfolge:
[description:"aoeu" uuid:"123sth"]
Dies soll hervorheben, dass sich alles in einem Schlüssel oder Wert befinden kann, außer Leerzeichen, keine Leerzeichen um die Doppelpunkte und Werte immer in doppelten Anführungszeichen.
Im Knoten ist dies meine Ausgabe:
[deuteronomy][gatlin][~]$ node
> var re = /^\[(?:(.+?):"(.+?)"\s*)+\]$/g
> re.exec('[description:"aoeu" uuid:"123sth"]');
[ '[description:"aoeu" uuid:"123sth"]',
'uuid',
'123sth',
index: 0,
input: '[description:"aoeu" uuid:"123sth"]' ]
Passt aber description:"aoeu"
auch zu diesem Muster. Wie kann ich alle Spiele zurückbekommen?
"some string".match(/regex/g)