Tôi đang cố phân tích kiểu chuỗi sau:
[key:"val" key2:"val2"]
trong đó có các cặp khóa tùy ý: "val" bên trong. Tôi muốn lấy tên khóa và giá trị. Đối với những người tò mò tôi đang cố phân tích định dạng cơ sở dữ liệu của chiến binh nhiệm vụ.
Đây là chuỗi thử nghiệm của tôi:
[description:"aoeu" uuid:"123sth"]
có nghĩa là để làm nổi bật rằng bất cứ điều gì có thể nằm trong một khóa hoặc giá trị ngoài không gian, không có khoảng trắng xung quanh dấu hai chấm và các giá trị luôn nằm trong dấu ngoặc kép.
Trong nút, đây là đầu ra của tôi:
[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"]' ]
Nhưng description:"aoeu"
cũng phù hợp với mô hình này. Làm thế nào tôi có thể lấy lại tất cả các trận đấu?
"some string".match(/regex/g)