private String performStrip() {
		normalizeAdditionalChars();
		//(?<![abc]) - Negative look behind
		if (!_keepChars.isEmpty()){
			_javaPattern = _javaPattern.concat("(?<![").concat(Pattern.quote(_keepChars)).concat("])");
		}
		//
		if (!_remChars.isEmpty()){
			if (_javaPattern.isEmpty()){ //remChars adicionais foram informados, no entanto somente Action Codes foram especificados (nenhum MaskCode presente).
				_javaPattern = "([".concat(Pattern.quote(_remChars)).concat("])");
			}else{
				_javaPattern = "(".concat(_javaPattern).concat("|[").concat(Pattern.quote(_remChars)).concat("])");
			}
		}
		//------------------------------------------------------------
		
		String pattern = _javaPattern;
		
		if (_codeAction.contains("<")){
			pattern = "^(".concat(_javaPattern).concat(")*");
		}
		if (_codeAction.contains(">")){
			if(_codeAction.contains("<")){ //Strip em caracteres a direita e esquerda
				pattern = "(".concat(pattern).concat("|(").concat(_javaPattern).concat(")*$)");
			}else{
				pattern = "(".concat(_javaPattern).concat(")*$");
			}	
		}
		//
		if (_codeAction.contains("=")){
			if (_codeAction.contains("<") || _codeAction.contains(">")){ //Primeiro realiza remoção dos limites inicio (^) e fim ($)
				_target = _target.replaceAll(pattern, "");
			}
			pattern = "(".concat(_javaPattern).concat(")\\1+");
			_target = _target.replaceAll(pattern, "$1");
		}else{
			_target = _target.replaceAll(pattern, "");
		}
		return _target;
	}