import re


def find_word_from_root(tokens, root):
    """Filter token (words) to retain only those containing a root term

    Args:
        tokens (iterable of str): the list of tokens.
        root (str): regular expression for the root term, to look for (e.g 'clay' or 'cl(a|e)y'), which will be padded with '[a-z]*' for searching

    Returns:
        a list: terms matching the root term.

    """
    regex = re.compile('[a-z]*'+root+'[a-z]*')
    xx = list(filter(regex.search, tokens))
    return xx