{"ScriptPreparationCode":"const query = \u0027?lang=en-GB\u0026_x_tr_hl=nl\u0026_x_tr_tl=uz\u0026awesome=hoi\u0026hl=fr\u0026lang=de\u0027;","TestCases":[{"Name":"regex exec 1","Code":"var regex = /[\u0026?](?:_x_tr_tl=([\\w-]\u002B)|fb_locale=([\\w-]\u002B)|lang=([\\w-]\u002B)|hl=([\\w-]\u002B)|locale=([\\w-]\u002B)|_x_tr_hl=([\\w-]\u002B))/g;\r\nvar resultList = [[], [], [], [], [], []];\r\nvar result;\r\nwhile (result = regex.exec(query)) {\r\n for (var i = 0; i \u003C 6; i\u002B\u002B) {\r\n var item = result[i \u002B 1];\r\n if (item) {\r\n resultList[i].push(item.replace(/_/g, \u0027-\u0027));\r\n break;\r\n }\r\n }\r\n}\r\n\r\nvar finalResult = Array.prototype.concat(resultList[0],resultList[1],resultList[2],resultList[3],resultList[4],resultList[5]);\r\n","IsDeferred":false},{"Name":"regex exec 2","Code":"var regex = /[\u0026?](?:_x_tr_tl=([\\w-]\u002B)|fb_locale=([\\w-]\u002B)|lang=([\\w-]\u002B)|hl=([\\w-]\u002B)|locale=([\\w-]\u002B)|_x_tr_hl=([\\w-]\u002B))/g;\r\nvar resultList = [[], [], [], [], [], []];\r\nvar result;\r\nwhile (result = regex.exec(query)) {\r\n result.shift();\r\n for (var i = 0; i \u003C 6; i\u002B\u002B) {\r\n var item = result[i];\r\n if (item) {\r\n resultList[i].push(item.replace(/_/g, \u0027-\u0027));\r\n break;\r\n }\r\n }\r\n}\r\n\r\nvar finalResult = Array.prototype.concat(resultList[0],resultList[1],resultList[2],resultList[3],resultList[4],resultList[5]);\r\n","IsDeferred":false},{"Name":"replaceAll beforehand","Code":"var regex = /[\u0026?](?:-x-tr-tl=([\\w-]\u002B)|fb-locale=([\\w-]\u002B)|lang=([\\w-]\u002B)|hl=([\\w-]\u002B)|locale=([\\w-]\u002B)|-x-tr-hl=([\\w-]\u002B))/g;\r\nvar resultList = [[], [], [], [], [], []];\r\nvar result;\r\nvar standardQuery = query.replace(/_/g, \u0027-\u0027);\r\nwhile (result = regex.exec(query)) {\r\n result.shift();\r\n for (var i = 0; i \u003C 6; i\u002B\u002B) {\r\n var item = result[i];\r\n if (item) {\r\n resultList[i].push(item);\r\n break;\r\n }\r\n }\r\n}\r\n\r\nvar finalResult = Array.prototype.concat(resultList[0],resultList[1],resultList[2],resultList[3],resultList[4],resultList[5]);\r\n","IsDeferred":false},{"Name":"several matches for loop","Code":"var finalResult = [];\r\n var urlLangMatch;\r\n\r\n urlLangMatch = query.match(/[\u0026?]_x_tr_tl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }\r\n\r\n urlLangMatch = query.match(/[\u0026?]fb_locale=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }\r\n\r\n urlLangMatch = query.match(/[\u0026?]lang=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }\r\n\r\n urlLangMatch = query.match(/[\u0026?]hl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }\r\n\r\n urlLangMatch = query.match(/[\u0026?]locale=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }\r\n\r\n urlLangMatch = query.match(/[\u0026?]_x_tr_hl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n }","IsDeferred":false},{"Name":"several matches concat","Code":"var result = Array.prototype.concat(\r\n\tquery.match(/[\u0026?]_x_tr_tl=([\\w-]\u002B)/g),\r\n query.match(/[\u0026?]fb_locale=([\\w-]\u002B)/g),\r\n\tquery.match(/[\u0026?]lang=([\\w-]\u002B)/g),\r\n query.match(/[\u0026?]hl=([\\w-]\u002B)/g),\r\n query.match(/[\u0026?]locale=([\\w-]\u002B)/g),\r\n query.match(/[\u0026?]_x_tr_hl=([\\w-]\u002B)/g),\r\n);\r\nvar finalResult = [];\r\nfor (var i = 0; i \u003C result.length; i\u002B\u002B) {\r\n var item = result[i];\r\n if (item) {\r\n finalResult.push(item.split(\u0027=\u0027, 2)[1].replace(/_/g, \u0027-\u0027));\r\n }\r\n}","IsDeferred":false},{"Name":"several matches concat replace once","Code":"var standardQuery = query.replace(/_/g, \u0027-\u0027);\r\nvar result = Array.prototype.concat(\r\n standardQuery.match(/[\u0026?]-x-tr-tl=([\\w-]\u002B)/g),\r\n standardQuery.match(/[\u0026?]fb-locale=([\\w-]\u002B)/g),\r\n standardQuery.match(/[\u0026?]lang=([\\w-]\u002B)/g),\r\n standardQuery.match(/[\u0026?]hl=([\\w-]\u002B)/g),\r\n standardQuery.match(/[\u0026?]locale=([\\w-]\u002B)/g),\r\n standardQuery.match(/[\u0026?]-x-tr-hl=([\\w-]\u002B)/g),\r\n);\r\nvar finalResult = [];\r\nfor (var i = 0; i \u003C result.length; i\u002B\u002B) {\r\n var item = result[i];\r\n if (item) {\r\n finalResult.push(item.split(\u0027=\u0027, 2)[1]);\r\n }\r\n}","IsDeferred":false},{"Name":"urlSearchParams","Code":"var searchParams = new URLSearchParams(query.replace(/_/g, \u0027-\u0027));\r\nvar result = Array.prototype.concat(\r\n searchParams.getAll(\u0027-x-tr-tl\u0027),\r\n searchParams.getAll(\u0027fb-locale\u0027),\r\n searchParams.getAll(\u0027lang\u0027),\r\n searchParams.getAll(\u0027hl\u0027),\r\n searchParams.getAll(\u0027locale\u0027),\r\n searchParams.getAll(\u0027-x-tr-hl\u0027),\r\n);","IsDeferred":false},{"Name":"several matches for loop replace once","Code":"var finalResult = [];\r\n var urlLangMatch;\r\nvar standardQuery = query.replace(/_/g, \u0027-\u0027)\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]-x-tr-tl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]fb-locale=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]lang=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]hl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]locale=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n\r\n urlLangMatch = standardQuery.match(/[\u0026?]-x-tr-hl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }","IsDeferred":false},{"Name":"several matches for loop replace once loop","Code":"var finalResult = [];\r\n var urlLangMatch;\r\nvar standardQuery = query.replace(/_/g, \u0027-\u0027);\r\nvar regexList = [\r\n /[\u0026?]-x-tr-tl=([\\w-]\u002B)/g,\r\n /[\u0026?]fb-locale=([\\w-]\u002B)/g,\r\n /[\u0026?]lang=([\\w-]\u002B)/g,\r\n /[\u0026?]hl=([\\w-]\u002B)/g,\r\n /[\u0026?]locale=([\\w-]\u002B)/g,\r\n /[\u0026?]-x-tr-hl=([\\w-]\u002B)/g,\r\n];\r\n\r\nfor (var j = 0; j \u003C 6; j\u002B\u002B) {\r\n urlLangMatch = standardQuery.match(/[\u0026?]-x-tr-tl=([\\w-]\u002B)/g);\r\n if (urlLangMatch) {\r\n for (var i = 0; i \u003C urlLangMatch.length; i\u002B\u002B) {\r\n finalResult.push(urlLangMatch[i].split(\u0027=\u0027, 2)[1]);\r\n }\r\n }\r\n}","IsDeferred":false}]}