### Summary

Please add more filters based on os.path, specifically: `os.path.commonpath`, `os.path.normpath`. It is cheap, but would be handy in such tasks as validation, archive management, programmatic path generation. Can replace a lot of loops and regex filters.

### Issue Type

Feature Idea

### Component Name

core

### Additional Information

none

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
''' return its argument quoted for shell usage '''
    if a is None:
        a = u''
    return shlex.quote(to_text(a))
def fileglob(pathname):
    ''' return list of matched regular files for glob '''
    return [g for g in glob.glob(pathname) if os.path.isfile(g)]
def regex_replace(value='', pattern='', replacement='', ignorecase=False, multiline=False):
    ''' Perform a `re.sub` returning a string '''
    value = to_text(value, errors='surrogate_or_strict', nonstring='simplerepr')
    flags = 0
    if ignorecase:
        flags |= re.I
    if multiline:
        flags |= re.M
    _re = re.compile(pattern, flags=flags)
    return _re.sub(replacement, value)
def regex_findall(value, regex, multiline=False, ignorecase=False):
    ''' Perform re.findall and return the list of matches '''
    value = to_text(value, errors='surrogate_or_strict', nonstring='simplerepr')
    flags = 0
    if ignorecase:
        flags |= re.I
    if multiline:
        flags |= re.M
    return re.findall(regex, value, flags)
def regex_search(value, regex, *args, **kwargs):