У меня есть многострочная строка, подобная этой:
url=www.website-one.com/number&id=2222&key=rer
type=web
version=3
url=www.website-two.com/number&id=9999&key=abc
type=web
version=5
В списке может быть больше строк, то есть больше строк с URL=
.
Цель состоит в том, чтобы получить эту структуру объекта JavaScript:
{
"url": "www.website-one.com/number&id=2222&key=rer",
"id": "2222",
},
{
"url": "www.website-two.com/number&id=9999&key=abc",
"id": "9999",
}
Как этого добиться в JavaScript?
Если в списке найдено больше URL=
, JSON также должен иметь их.
Как бы я попытался ее решить:
- Захват URL-адресов с помощью RegEx из списка, чтобы просто отобразить URL-адреса в списке
- Затем захват с каждогострока с RegEx с критерием: Получить все после
url=
- записать это в строку с именем URL
- Затем записать в копию строки
URL
RegEx с критерием: Получить все после ID=
до &
Что я уже пробовал
function start_regex() {
var str = `
url=www.website-one.com/number&id=2222&key=rer
type=web
version=3
url=www.website-two.com/number&id=9999&key=abc
type=web
version=5
`;
//regex show only URL until end of line
var RegExpURLonly = /url=.*([^\n]+)/g;
var URLonly = RegExpURLonly.exec(str);
while (URLonly != null) {
console.log('This is URL only: ' + URLonly[1]);
URLonly = RegExpURLonly.exec(str);
}
//regex show only id
var RegExIDonly = /id=([^&]+)/g;
var IDonly = RegExIDonly.exec(URLonly);
while (IDonly != null) {
console.log('This is ID only: ' + IDonly[1]);
IDonly = RegExIDonly.exec(str);
}
}