Give a string such as: "What is 4 + 4?"
    Return the string "4 + 4"

def extract_expression(dirty_string, language):
    """
    Give a string such as: "What is 4 + 4?"
    Return the string "4 + 4"
    """
    tokens = tokenize(dirty_string, language)

    start_index = 0
    end_index = len(tokens)

    for part in tokens:
        if is_symbol(part) or is_word(part, language):
            break
        else:
            start_index += 1

    for part in reversed(tokens):
        if is_symbol(part) or is_word(part, language):
            break
        else:
            end_index -= 1

    return ' '.join(tokens[start_index:end_index])