Dize aşağıdaki tür ayrıştırmak çalışıyorum:
[key:"val" key2:"val2"]
burada keyfi anahtar vardır: içeride "val" çiftleri. Anahtar adını ve değerini almak istiyorum. Merak edenler için görev savaşçısının veritabanı formatını ayrıştırmaya çalışıyorum.
İşte benim test dizesi:
[description:"aoeu" uuid:"123sth"]
bu, herhangi bir şeyin boşluktan başka bir anahtar veya değerde olabileceğini, iki nokta üst üste çevresinde boşluk olmadığını ve değerlerin her zaman çift tırnak içinde olduğunu vurgulamak içindir.
Düğümde, bu benim çıktı:
[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"]' ]
Ancak description:"aoeu"
bu modelle de eşleşir. Tüm maçları nasıl geri alabilirim?
"some string".match(/regex/g)