vladovip

RegExp_Santa Helper_JS FUND

Sep 8th, 2022 (edited)
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function santaHelper (inputArr){
  2.  
  3.     let keyOfSanta = +inputArr.shift();
  4.     let tempDecryptedArr = [];
  5.     let currentMessage = inputArr.shift();
  6.  
  7.     while ( currentMessage != 'end') {
  8.         let currentDecryptMessage = currentMessage.split('').map(function(element){
  9.             let newCharCode = element.charCodeAt() - keyOfSanta;
  10.             return  element = String.fromCharCode(newCharCode);
  11.         }).join("");
  12.         tempDecryptedArr.push(currentDecryptMessage);
  13.  
  14.         currentMessage = inputArr.shift();
  15.     }
  16.     //   console.log(tempDecryptedArr);
  17.     // [ '@Kate^jfdvbkrjgb!G!', '@Bobbie*kjdrrbgkT!G!', '@Stan#dkjghskd!N!' ]  - tempDecryptedArr
  18.    
  19.     let patternNameMatch =  /[^@\-!:]*[^and]*@(?<name>[A-Z][a-z]+)[^@\-\!\:]*[and]*!(?<typeOfPerson>G|N)!/g
  20.     let totalListPeopleArr = [];
  21.     for ( let eachPersonInfo of tempDecryptedArr ) {
  22.         let matchArr = patternNameMatch.exec(eachPersonInfo);
  23.         while ( matchArr!== null  ) {
  24.                let personName = matchArr.groups.name;
  25.                let typeBehaviour = matchArr.groups.typeOfPerson;
  26.                if (typeBehaviour == 'G') {
  27.                 totalListPeopleArr.push(personName);
  28.                }
  29.             matchArr = patternNameMatch.exec(eachPersonInfo);
  30.         }
  31.     }
  32.     console.log(totalListPeopleArr.join("\n"));
  33.  
  34. }
  35.  
  36.  
  37.  
  38. santaHelper (['3',
  39. 'CNdwhamigyenumje$J$',
  40. 'CEreelh-nmguuejnW$J$',
  41. 'CVwdq&gnmjkvng$Q$',
  42. 'end']
  43. );
  44. console.log(`***************`);
  45. santaHelper (['3',
  46. 'N}eideidmk$\'(mnyenmCNlpamnin$J$',
  47. 'ddddkkkkmvkvmCFrqqru-nvevek$J$nmgievnge',
  48. 'ppqmkkkmnolmnnCEhq/vkievk$Q$',
  49. 'yyegiivoguCYdohqwlqh/kguimhk$J$',
  50. 'end']
  51. );
  52.  
  53. console.log(`***************`);
  54.  
  55. santaHelper (["4",
  56.     "~lwzjkl~jenlymfDFsffmiCwozwlzjln%K%",
  57.     "0zfjrl}xnrlDWeqqmi/wnznlwzjnn%K%onhfhnf",
  58.     ";:<lyiljz{onzDPere=;=9<;8=rhknlf%K%",
  59.     "Wonvfkmwzkmpwvzkm'lhjnlDWeqerxle0wlnzj{nz%K%nohwn",
  60.     "DReh}e=<4lhzj1%K%",
  61.     "end"]);
Advertisement
Add Comment
Please, Sign In to add comment