मैं निम्नलिखित प्रकार के स्ट्रिंग को पार्स करने की कोशिश कर रहा हूं:
[key:"val" key2:"val2"]
जहां मनमाने ढंग से कुंजी होती है: "वैल" जोड़े अंदर। मैं मुख्य नाम और मूल्य को हथियाना चाहता हूं। उन उत्सुक लोगों के लिए मैं कार्य योद्धा के डेटाबेस प्रारूप को पार्स करने की कोशिश कर रहा हूं।
यहाँ मेरा परीक्षण स्ट्रिंग है:
[description:"aoeu" uuid:"123sth"]
जिसका अर्थ यह है कि कोई भी चीज अंतरिक्ष से अलग एक कुंजी या मूल्य में हो सकती है, कॉलोन के आसपास कोई स्थान नहीं है, और मान हमेशा दोहरे उद्धरण चिह्नों में होते हैं।
नोड में, यह मेरा आउटपुट है:
[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"]' ]
लेकिन description:"aoeu"
इस पैटर्न से मेल भी खाता है। मुझे सभी मैच वापस कैसे मिल सकते हैं?
"some string".match(/regex/g)