England captain Andrew Strauss said South Africa played some outstanding cricket and his team have some lessons to learn after dramatically losing by an innings and 12 runs.