original_string: protected static function getPattern($currency)
      {
          if (!$currency) {
              return '{{ widget }}';
          }
  
          $locale = \Locale::getDefault();
  
          if (!isset(self::$patterns[$locale])) {
              self::$patterns[$locale] = [];
          }
  
          if (!isset(self::$patterns[$locale][$currency])) {
              $format = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
              $pattern = $format->formatCurrency('123', $currency);
  
              // the spacings between currency symbol and number are ignored, because
              // a single space leads to better readability in combination with input
              // fields
  
              // the regex also considers non-break spaces (0xC2 or 0xA0 in UTF-8)
  
              preg_match('/^([^\s\xc2\xa0]*)[\s\xc2\xa0]*123(?:[,.]0+)?[\s\xc2\xa0]*([^\s\xc2\xa0]*)$/u', $pattern, $matches);
  
              if (!empty($matches[1])) {
                  self::$patterns[$locale][$currency] = $matches[1].' {{ widget }}';
              } elseif (!empty($matches[2])) {
                  self::$patterns[$locale][$currency] = '{{ widget }} '.$matches[2];
              } else {
                  self::$patterns[$locale][$currency] = '{{ widget }}';
              }
          }
  
          return self::$patterns[$locale][$currency];
      }
code: protected static function getPattern($currency)
      {
          if (!$currency) {
              return '{{ widget }}';
          }
  
          $locale = \Locale::getDefault();
  
          if (!isset(self::$patterns[$locale])) {
              self::$patterns[$locale] = [];
          }
  
          if (!isset(self::$patterns[$locale][$currency])) {
              $format = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
              $pattern = $format->formatCurrency('123', $currency);
  
              // the spacings between currency symbol and number are ignored, because
              // a single space leads to better readability in combination with input
              // fields
  
              // the regex also considers non-break spaces (0xC2 or 0xA0 in UTF-8)
  
              preg_match('/^([^\s\xc2\xa0]*)[\s\xc2\xa0]*123(?:[,.]0+)?[\s\xc2\xa0]*([^\s\xc2\xa0]*)$/u', $pattern, $matches);
  
              if (!empty($matches[1])) {
                  self::$patterns[$locale][$currency] = $matches[1].' {{ widget }}';
              } elseif (!empty($matches[2])) {
                  self::$patterns[$locale][$currency] = '{{ widget }} '.$matches[2];
              } else {
                  self::$patterns[$locale][$currency] = '{{ widget }}';
              }
          }
  
          return self::$patterns[$locale][$currency];
      }
code_tokens: protected static function getPattern ( $ currency ) { if ( ! $ currency ) { return '{{ widget }}' ; } $ locale = \ Locale :: getDefault ( ) ; if ( ! isset ( self :: $ patterns [ $ locale ] ) ) { self :: $ patterns [ $ locale ] = [ ] ; } if ( ! isset ( self :: $ patterns [ $ locale ] [ $ currency ] ) ) { $ format = new \ NumberFormatter ( $ locale , \ NumberFormatter :: CURRENCY ) ; $ pattern = $ format -> formatCurrency ( '123' , $ currency ) ; // the spacings between currency symbol and number are ignored, because // a single space leads to better readability in combination with input // fields // the regex also considers non-break spaces (0xC2 or 0xA0 in UTF-8) preg_match ( '/^([^\s\xc2\xa0]*)[\s\xc2\xa0]*123(?:[,.]0+)?[\s\xc2\xa0]*([^\s\xc2\xa0]*)$/u' , $ pattern , $ matches ) ; if ( ! empty ( $ matches [ 1 ] ) ) { self :: $ patterns [ $ locale ] [ $ currency ] = $ matches [ 1 ] . ' {{ widget }}' ; } elseif ( ! empty ( $ matches [ 2 ] ) ) { self :: $ patterns [ $ locale ] [ $ currency ] = '{{ widget }} ' . $ matches [ 2 ] ; } else { self :: $ patterns [ $ locale ] [ $ currency ] = '{{ widget }}' ; } } return self :: $ patterns [ $ locale ] [ $ currency ] ; }
docstring: Returns the pattern for this locale in UTF-8.
  
  The pattern contains the placeholder "{{ widget }}" where the HTML tag should
  be inserted
docstring_tokens: Returns the pattern for this locale in UTF - 8 .