protected function _parseCondition($condition) {
		if (! preg_match('/
				([a-z0-9_\.]+) #property
				(?|
					(?:\s+([a-z0-9]+[\s_]?[a-z0-9]*)  #keyword
					(?:\(|\s+))|(?:\s*([!=\<\>]+)\s*) #condition
				)
				(.+) #value
			/ix', $condition, $matches)) {
			throw new Exception('Error in condition: "' . $condition . '"');
		}
		
		return [
			trim($matches[1]),
			strtolower(trim($matches[2])),
			trim($matches[3], "()\"' \t\r\n\0\x0B")
		];
	}
protected function _parseCondition($condition) {
		if (! preg_match('/
				([a-z0-9_\.]+) #property
				(?|
					(?:\s+([a-z0-9]+[\s_]?[a-z0-9]*)  #keyword
					(?:\(|\s+))|(?:\s*([!=\<\>]+)\s*) #condition
				)
				(.+) #value
			/ix', $condition, $matches)) {
			throw new Exception('Error in condition: "' . $condition . '"');
		}
		
		return [
			trim($matches[1]),
			strtolower(trim($matches[2])),
			trim($matches[3], "()\"' \t\r\n\0\x0B")
		];
	}
protected function _parseCondition ( $ condition ) { if ( ! preg_match ( '/
				([a-z0-9_\.]+) #property
				(?|
					(?:\s+([a-z0-9]+[\s_]?[a-z0-9]*)  #keyword
					(?:\(|\s+))|(?:\s*([!=\<\>]+)\s*) #condition
				)
				(.+) #value
			/ix' , $ condition , $ matches ) ) { throw new Exception ( 'Error in condition: "' . $ condition . '"' ) ; } return [ trim ( $ matches [ 1 ] ) , strtolower ( trim ( $ matches [ 2 ] ) ) , trim ( $ matches [ 3 ] , "()\"' \t\r\n\0\x0B" ) ] ; }
Parse the condition into a parts

@param  string $condition
@return array
@throws Exception
Parse the condition into a parts