docs: def by_symbol_match(value, country_code=None):
      """Get list of possible currencies where the symbol is in value; filter by country_code (iso3166 alpha2 code)
  
      Look for first matching currency symbol in `value`. Filter similar to `by_symbol`.
      Symbols are sorted by length and relevance of first character (see `_symbols()`).
  
      Symbols are considered to be currency symbols, alpha3 codes or currency names.
  
      Note: This is a [heuristic](https://en.wikipedia.org/wiki/Heuristic) !
  
      Parameters:
          value: unicode                   Some input string.
          country_code: Optional[unicode]  Iso3166 alpha2 country code.
  
      Returns:
          List[Currency]: Currency objects found in `value`; filter by country_code.
      """
      res = None
      for s, group in _symbols():
          if s.lower() in value.lower():
              if group == 'symbol':
                  res = by_symbol(s, country_code)
              if group == 'alpha3':
                  res = [by_alpha3(s)]
              if group == 'name':
                  res = [_data()['name'][s]]
              if res and country_code is not None:
                  res = [
                      currency
                      for currency in res
                      if country_code in currency.countries
                  ]
              if res:
                  return res