code: def _extract_possible_number(number):
      
      match = _VALID_START_CHAR_PATTERN.search(number)
      if match:
          number = number[match.start():]
          # Remove trailing non-alpha non-numberical characters.
          trailing_chars_match = _UNWANTED_END_CHAR_PATTERN.search(number)
          if trailing_chars_match:
              number = number[:trailing_chars_match.start()]
          # Check for extra numbers at the end.
          second_number_match = _SECOND_NUMBER_START_PATTERN.search(number)
          if second_number_match:
              number = number[:second_number_match.start()]
          return number
      else:
          return U_EMPTY_STRING
docs: Attempt to extract a possible number from the string passed in.
  
      This currently strips all leading characters that cannot be used to
      start a phone number. Characters that can be used to start a phone number
      are defined in the VALID_START_CHAR_PATTERN. If none of these characters
      are found in the number passed in, an empty string is returned. This
      function also attempts to strip off any alternative extensions or endings
      if two or more are present, such as in the case of: (530) 583-6985
      x302/x2303. The second extension here makes this actually two phone
      numbers, (530) 583-6985 x302 and (530) 583-6985 x2303. We remove the
      second extension so that the first number is parsed correctly.
  
      Arguments:
      number -- The string that might contain a phone number.
  
      Returns the number, stripped of any non-phone-number prefix (such
      as "Tel:") or an empty string if no character used to start phone
      numbers (such as + or any digit) is found in the number