from typing import List
from pathlib import Path
import re


def filter_blacklist(paths: List[Path], blacklist: List[str]) -> List[Path]:
    """Filters (set difference) paths by a collection of regex pattens."""
    return [
        path.absolute()
        for path in paths
        if not any(
            re.search(pattern, str(path), re.IGNORECASE)
            for pattern in blacklist
            if pattern
        )
    ]