'Extracts IDD and plus sign to self._prefix_before_national_number
when they are available, and places the remaining input into
_national_number.
Returns True when accrued_input_without_formatting begins with the plus sign or valid IDD for
default_country.'

def _attempt_to_extract_idd(self):

    international_prefix = re.compile((((unicod('\\') + _PLUS_SIGN) + unicod('|')) + (self._current_metadata.international_prefix or U_EMPTY_STRING)))
    idd_match = international_prefix.match(self._accrued_input_without_formatting)
    if idd_match:
        self._is_complete_number = True
        start_of_country_calling_code = idd_match.end()
        self._national_number = self._accrued_input_without_formatting[start_of_country_calling_code:]
        self._prefix_before_national_number = self._accrued_input_without_formatting[:start_of_country_calling_code]
        if (self._accrued_input_without_formatting[0] != _PLUS_SIGN):
            self._prefix_before_national_number += _SEPARATOR_BEFORE_NATIONAL_NUMBER
        return True
    return False
