import re


def find_latest_version(versions):
    """
    Go through the versions, sort them and find the highest number

    Args:
        versions: list, the versions to use
    Returns:
        str or None if the highest version was able to be found
    """
    def human_keys(astr):
        """
        Sorts keys based on human order.. IE 1 is less than 10 etc..

        alist.sort(key=human_keys) sorts in human order
        """
        keys = []
        for elt in re.split(r'(\d+)', astr):
            elt = elt.swapcase()
            try:
                elt = int(elt)
            except ValueError:
                pass
            keys.append(elt)
        return keys
    versions.sort(key=human_keys)
    if versions:
        return versions[-1]
    return None