str_params = '%(%' + \
            r'|[-+*/m&\|cisl^=><AO!~]|p[1-9]|[Pg][a-zA-Z]' + \
            r'|((:?[-+# ])?([0-9]+(\.[0-9]+)?)?[doxXs])' + \
            r"|('c'|\{[0-9]+\})" + \
            r"|(\?.*?;)" + \
        ')'

def detect(self, escape_code):
        import re

        """
        str_params = '%(%' + \
            r'|[-+*/m&\|cisl^=><AO!~]|p[1-9]|[Pg][a-zA-Z]' + \
            r'|((:?[-+# ])?([0-9]+(\.[0-9]+)?)?[doxXs])' + \
            r"|('c'|\{[0-9]+\})" + \
            r"|(\?.*?;)" + \
        ')'
        """

        cap = self._by_escape_code.get(escape_code, UnknownCapability())
        cap.value = escape_code

        """
        pattern = re.compile(str_params)
        simplified = pattern.sub('', escape_code)
        print(repr(simplified))
        """

        #return self._by_escape_code.get(escape_code)
        return cap