Моя конечная цель - использовать регулярные выражения для сопоставления строк HTTP_USER_AGENT для IE 7 и ниже PLUS Opera 9.0 и ниже.
Это потому, что это браузеры, которые не поддерживают CSS "box-sizing"
Я не очень разбираюсь в синтаксисе регулярных выражений.
Но я просмотрел список "http user agent", который нашел в Google для Opera и IE
(MSIE [2-7]\.+)|(rv:1\.8\.1\.1+)|(Opera/[4-8]\.+)|(Opera [4-8]\.+)|(Opera\/9\.00+)
Это регулярное выражение, которое я использую, чтобы сопоставить все HTTP_USER_AGENTS в указанных выше списках. (Я не уверен, что список содержит ВСЕ возможные пользовательские агенты. Вероятно, нет)
Но в любом случае, это регулярное выражение соответствует им всем. но это также соответствует некоторым более новым версиям Opera
например.
Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; de) Opera 10.10
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 6.0; tr) Opera 10.10
Mozilla/4.0 (compatible; MSIE 6.0; Linux i686 ; en) Opera 9.70
Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux x86_64; en) Opera 9.60
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 9.52
Так что я на шаг впереди. Отличительным фактором являются ВСЕ ОПЕРА версии 9 PLUS, которые содержат «MSIE 6». ТАКЖЕ содержат "Opera" в конце.
Так что мне нужно изменить свое регулярное выражение, чтобы оно соответствовало ВСЕМ "MSIE 6." строки, которые не содержат "OPERA"
Как я уже сказал, регулярное выражение, которое у меня сейчас есть, может быть не самым лучшим. Но я новичок в регулярных выражениях!
Спасибо
Alex