IE が送出する HTTP User-Agent ヘッダで Windows のバージョンを見分けるには

OpenSpace - userAgent一覧
http://www.openspc2.org/userAgent/

何が知りたかったかというと、IE 限定で、User-Agent ヘッダで Windows のバージョンを見分ける方法。どうやら「最初に現れる "Windows " から、その直後の ";" または ")" まで」を取り出せばよさそうだ。上記のページに載っている

Mozilla/4.0 (compatible; MSIE 4.01; Windows 95; Yahoo! JAPAN Version Windows 95/NT CD-ROM Edition 1.0.)

なんて例を見ると、"Windows " という文字列自体は 2 回出現する場合がある。2 回目のは変種 (?) の名称なので、OS とは関係ない。
これは知ってたけど、WinXP SP2 をあてている場合には "SV1" という文字列が User-Agent に含まれる。また、.NET Framework ランタイムがインストールされている場合には、.NET のバージョンも取れるね。
なお、Netscape/Mozilla/Firefox はもうちょっと複雑なのだが、今回の仕事では判定いらないので省略。User-Agent を「詐称」していた場合についても扱わないので省略。