/
(?(DEFINE)
(?P<ver>\d+(?:\.\d+)*(?![.\d]))
(?P<agent>Mozilla\/(?&ver))
(?P<os>(?&os_windows)|(?&os_linux)|(?&os_macintosh)|(?&os_ios))
(?P<os_windows>Windows[ ]\w+[ ](?&ver))
(?P<os_linux>Linux(?:[ ](?:i686|x86_64))?)
(?P<os_macintosh>Macintosh)
(?P<os_ios>(?:CPU[ ])?iPhone[ ]OS|CPU[ ]OS.*?like[ ]Mac[ ]OS[ ]X)
(?P<device>(?&device_ios)|(?&device_firefox)|(?&device_android))
(?P<device_ios>iPhone|iPad)
(?P<device_firefox>Mobile)