{"ScriptPreparationCode":"function generateRandomText(length) {\r\n const chars = \u0027abcdefghijklmnopqrstuvwxyz0123456789., \u0027;\r\n let result = \u0027\u0027;\r\n for (let i = 0; i \u003C length; i\u002B\u002B) {\r\n const randomIndex = Math.floor(Math.random() * chars.length);\r\n result \u002B= chars[randomIndex];\r\n }\r\n return result;\r\n}\r\n\r\nconst test = generateRandomText(1000)\r\nconst literalSearch = [\u0022tg\u0022, \u0022reg\u0022, \u0022ha\u0022, \u0022yo\u0022,\u0022mnasiwk\u0022].sort(\r\n (a, b) =\u003E b.length - a.length\r\n );\r\nconst regSearch = [\u0022c\\\\d\u0022, \u0022a.{3}a\u0022, \u0022\u003C.\u002B\u003E\u0022, \u0022^g.?a$\u0022].sort(\r\n (a, b) =\u003E b.length - a.length\r\n );\r\nconst inc = regSearch.map(r =\u003E new RegExp(r)).concat(literalSearch);\r\nconst regArr = regSearch.concat(literalSearch)\r\nconst reg = new RegExp(\u0022(\u0022 \u002B regArr.join(\u0022)|(\u0022) \u002B \u0022)\u0022, \u0022g\u0022);\r\n \r\nfunction regexMethod(str) {\r\n console.log(reg.source, str)\r\n const res = {}\r\n for (const match of str.matchAll(reg)) {\r\n for (let i = 1; i \u003C= regArr.length; i\u002B\u002B) {\r\n if (!!match[i]) {\r\n res[regArr[i-1]] = (res[regArr[i-1]] ?? 0) \u002B 1\r\n break;\r\n }\r\n }\r\n }\r\n return res\r\n}\r\n\r\n\r\nfunction includeMethod(strArr) {\r\n const res = {}\r\n let nextArr = []\r\n for (const sep of inc) {\r\n for (const str of strArr) {\r\n \t const parts = str.split(sep);\r\n if (parts.length !== 1) res[sep.source ?? sep] = (res[sep.source ?? sep] ?? 0) \u002B parts.length - 1\r\n nextArr.push(...parts)\r\n }\r\n strArr = nextArr;\r\n nextArr = [];\r\n }\r\n return res\r\n} \r\n \r\n \r\n","TestCases":[{"Name":"regex","Code":"regexMethod(test)","IsDeferred":false},{"Name":"includes","Code":"includeMethod([test])","IsDeferred":false}]}