<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_types(self, site=None, match=r'^(?!lastfile|spectro|\.).*'):
 """Return the list of known data types. This is just the basename of each FFL file found in the FFL directory (minus the ``.ffl`` extension) """

        self._find_paths()
        types = [tag for (site_, tag) in self.paths if site in (None, site_)]
        if match is not None:
            match = re.compile(match)
            return list(filter(match.search, types))
        return types