1


0

私は、SP1ではないすべてのIE6バージョン(Windows XP SP2の一部であり、ehを混乱させる)に一致させるためのコードが必要でした。 これは正しく扱えないIEのバージョンではgzipをオフにするためです。

私が思い付いたのは、次のとおりです。

MSIE [1-6] \。(?!。*?SV1)

誰かがより良いパターンを持っていますか? 上記の正規表現が行うことは基本的にSV1(SP1を示す)が存在しないことを確認するための先読みをすることです。

テスト目的では、これは一致しないはずです。

Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4325)

しかし、これはする必要があります:

Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 6.0)

2 Answer


0


あなたの正規表現はあなたが探しているユーザエージェントにマッチするのに良い仕事をします、しかしあなたは互換性のために彼らのユーザエージェント文字列に "MSIE 6.0"を持っているブラウザに注意するべきです。 これは ユーザーエージェント文字列のリストです。


0


2つのほうが簡単なのに、なぜ単一の正規表現でそれをするのか。 擬似コード

String.matches( '\ bMSIE [1-6] \ b')およびString.matches( '\ bSV1 \ b')のどちらでもない場合