emotrend

post office

Dec 15th, 2018
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.00 KB | None | 0 0
  1. <?php
  2.  
  3. list($firstPart, $secondPart, $thirdPart) = explode("|", readline());
  4. $lettersReg = '/([$#%*&])(?<firstMatch>[A-Z]+)\1/';
  5. $asciiReg = '/(?<asciiLetter>\d\d):(?<length>\d\d)/';
  6. $lettersAndLength = [];
  7.  
  8. if (preg_match($lettersReg, $firstPart, $lettersMatches)) {
  9.     $firstLetters = str_split($lettersMatches['firstMatch']);
  10. }
  11. if (preg_match_all($asciiReg, $secondPart, $asciiMatches)) {
  12.     for ($i = 0; $i < count($asciiMatches['asciiLetter']);$i++){
  13.         if (!key_exists($asciiMatches['asciiLetter'][$i], $lettersAndLength)) {
  14.             $lettersAndLength[$asciiMatches['asciiLetter'][$i]] = intval($asciiMatches['length'][$i]);
  15.         }
  16.     }
  17. }
  18.  
  19. $thirdPart = explode(" ", $thirdPart);
  20. for ($i = 0; $i < count($thirdPart);$i++){
  21.     if ((key_exists(ord($thirdPart[$i][0]), $lettersAndLength)) &&
  22.         (strlen($thirdPart[$i]) === $lettersAndLength[ord($thirdPart[$i][0])] + 1) &&
  23.         (in_array($thirdPart[$i][0], $firstLetters))) {
  24.         echo $thirdPart[$i] . PHP_EOL;
  25.     }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment