Before the release of IE11, I have been using
context.Request.Browser.Browser == "IE"
to detect the IE browser on the server end. Since IE11 has user agent changes, now using the same technique doesn't work anymore.
Is regular expression on context.Request.Browser.UserAgent only choice?
First why do you need to browser sniff in the first place. You really should not do that, instead do feature detection in the client and adjust from there. Here is how to check if the browser 'cuts the mustard'
With that said here is a method I built to detect if it is obsolete IE or not. Basically it checks if the browser is 'IE' and the major version is 10. If it is not 10 then it is 9,8,7. IE 11 returns 'Internet Explorer' so you know it is good to go.