<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_function_name_from_arn(function_arn):
 """ Given the integration ARN, extract the Lambda function name from the ARN. If there are stage variables, or other unsupported formats, this function will return None. Parameters function_arn : basestring or None Function ARN from the swagger document Returns ------- basestring or None Function name of this integration. None if the ARN is not parsable """


        if not function_arn:
            return None

        matches = re.match(LambdaUri._REGEX_GET_FUNCTION_NAME, function_arn)
        if not matches or not matches.groups():
            LOG.debug("No Lambda function ARN defined for integration containing ARN %s", function_arn)
            return None

        groups = matches.groups()
        maybe_function_name = groups[0]  # This regex has only one group match

        # Function name could be a real name or a stage variable or some unknown format
        if re.match(LambdaUri._REGEX_STAGE_VARIABLE, maybe_function_name):
            # yes, this is a stage variable
            LOG.debug("Stage variables are not supported. Ignoring integration with function ARN %s", function_arn)
            return None

        elif re.match(LambdaUri._REGEX_VALID_FUNCTION_NAME, maybe_function_name):
            # Yes, this is a real function name
            return maybe_function_name

        # Some unknown format
        LOG.debug("Ignoring integration ARN. Unable to parse Function Name from function arn %s",
                  function_arn)