Иногда пользовательский агент также содержит символы, например ::10000
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b9pre) Gecko/20101228 Firefox/4.0b9pre
Internet Explorer - единственный браузер, где я видел символы как часть информации о версии:
Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0 ; .NET CLR 2.0.50215; SL Commerce Client v1.0; Tablet PC 2.0
Также могут быть строки пользовательского агента Firefox только с двумя цифрами версий, такими как эта:
Mozilla/5.0 (X11; U; Linux armv7l; en-US; rv:1.9.2a1pre) Gecko/20091127 Firefox/3.5 Maemo Browser 1.5.6 RX-51 N900
Исходя из этого, я придумал этот шаблон регулярных выражений:
Firefox\/([\d]+\.[\w]?\.?[\w]+)
Он будет соответствовать любому номеру версии с 2-3 уровнями и номерами> 10, но также разрешит символы на 2-м или 3-м уровне.