parameters: (self, result_command)
docstring: 处理日志特殊字符
docstring_summary: 处理日志特殊字符
docstring_tokens: 处理日志特殊字符
function: def remove_control_char(self, result_command):
          """
          处理日志特殊字符
          """
          control_char = re.compile(r"""
                  \x1b[ #%()*+\-.\/]. |
                  \r |                                               #匹配 回车符(CR)
                  (?:\x1b\[|\x9b) [ -?]* [@-~] |                     #匹配 控制顺序描述符(CSI)... Cmd
                  (?:\x1b\]|\x9d) .*? (?:\x1b\\|[\a\x9c]) | \x07 |   #匹配 操作系统指令(OSC)...终止符或振铃符(ST|BEL)
                  (?:\x1b[P^_]|[\x90\x9e\x9f]) .*? (?:\x1b\\|\x9c) | #匹配 设备控制串或私讯或应用程序命令(DCS|PM|APC)...终止符(ST)
                  \x1b.                                              #匹配 转义过后的字符
                  [\x80-\x9f] | (?:\x1b\]0.*) | \[.*@.*\][\$#] | (.*mysql>.*)      #匹配 所有控制字符
                  """, re.X)
          result_command = control_char.sub('', result_command.strip())
  
          if not self.vim_flag:
              if result_command.startswith('vi') or result_command.startswith('fg'):
                  self.vim_flag = True
              return result_command.decode('utf8', "ignore")
          else:
              return ''
function_tokens: def remove_control_char ( self , result_command ) : control_char = re . compile ( r"""
                  \x1b[ #%()*+\-.\/]. |
                  \r |                                               #匹配 回车符(CR)
                  (?:\x1b\[|\x9b) [ -?]* [@-~] |                     #匹配 控制顺序描述符(CSI)... Cmd
                  (?:\x1b\]|\x9d) .*? (?:\x1b\\|[\a\x9c]) | \x07 |   #匹配 操作系统指令(OSC)...终止符或振铃符(ST|BEL)
                  (?:\x1b[P^_]|[\x90\x9e\x9f]) .*? (?:\x1b\\|\x9c) | #匹配 设备控制串或私讯或应用程序命令(DCS|PM|APC)...终止符(ST)
                  \x1b.                                              #匹配 转义过后的字符
                  [\x80-\x9f] | (?:\x1b\]0.*) | \[.*@.*\][\$#] | (.*mysql>.*)      #匹配 所有控制字符
                  """ , re . X ) result_command = control_char . sub ( '' , result_command . strip ( ) ) if not self . vim_flag : if result_command . startswith ( 'vi' ) or result_command . startswith ( 'fg' ) : self . vim_flag = True return result_command . decode ( 'utf8' , "ignore" ) else : return ''