Advertisement
kstoyanov

03. Spy Master js exam

Jul 30th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(args) {
  2.   const specialKey = args.shift();
  3.   let messagePattern = '((?: |^)';
  4.   for (let i = 0; i < specialKey.length; i++) {
  5.     messagePattern += `[${specialKey[i].toLowerCase()}${specialKey.toUpperCase()}]`;
  6.   }
  7.  
  8.   messagePattern += '[ ]+)([!#$%A-Z]{8,})( |\\.|,|$)';
  9.   const messageRegex = new RegExp(messagePattern, 'g');
  10.  
  11.   const replacer = (match, group1, group2, group3) => {
  12.     group2 = group2.replace(/!/g, '1')
  13.       .replace(/%/g, '2')
  14.       .replace(/\#/g, '3')
  15.       .replace(/\$/g, '4')
  16.       .replace(/[A-Z]/g, (x) => x.toLowerCase());
  17.     return group1 + group2 + group3;
  18.   };
  19.  
  20.  
  21.   for (let i = 0; i < args.length; i++) {
  22.     const line = args[i].replace(messageRegex, replacer);
  23.     console.log(line);
  24.   }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement