Использование Regex для анализа версии браузера из User-Agent-Header - PullRequest
1 голос
/ 16 февраля 2012

Парсинг заголовка user-agent. Мне нужно выяснить, имею ли я дело с IE-8 или более ранней версией:

<= IE8

Таким образом, регулярное выражение должно возвращать true в следующих случаях:

(compatible; MSIE 8.0;...)
(compatible; MSIE 7.0;...)
etc. 

Следующее должно давать ложь:

(compatible; MSIE 9.0;...)

Это следующее регулярное выражение не работает:

"MSIE [6-8]\."

Ответы [ 2 ]

4 голосов
/ 16 февраля 2012

Ваш шаблон должен работать, если вы избежите обратной косой черты, или вы имели в виду JavaScript ?. (в этом случае это должно работать)

"(?i)MSIE\\s+[5-8]\\.\\d+"

Пояснение:

  • (?i) делает регистр нечувствительным
  • MSIE соответствует строке MSIE
  • \\s+ один или несколько пробелов
  • [5-8] соответствует цифрам от 5 до 8
  • \\. соответствует точке
  • \\d+ одна или несколько цифр
0 голосов
/ 16 февраля 2012

Вы можете использовать группы символов для соответствия версиям, например [678]\.0.

...