import re


def is_doi(str):
    """
    check if a string is a valid DOI
    @param str: str to check
    @type str: str
    @return: True if DOI
    @rtype: bool
    """
    doi_regex = re.compile('\\b(10[.][0-9]{4,}(?:[.][0-9]+)*\/(?:(?!["&\'<>])\S)+)\\b')
    return True if doi_regex.match(str) else False