在Javascript中解析RFC 7231用户代理字符串

时间:2016-01-14 15:35:24

标签: javascript regex parsing user-agent

我需要解析任意RFC 7231 User-Agent个字符串。有办法吗?我找到了ua-parser.js,但它试图变得更聪明"通过将语义值附加到浏览器/设备/ OS / CPU信息,我只需要一个元素数组,其中每个元素都有一个名称和版本以及可选的注释。

我想我可以通过一个正则表达式来做到这一点,但评论会让它变得棘手。也许像/([A-Za-z0-9!#$%&'*+.^`|~-])\/([A-Za-z0-9!#$%&'*+.^`|~-])\s+(\([^)]+\))?/,其中

  • [A-Za-z0-9!#$%&'*+.^`|~-]是RFC 7230中描述的token(使用两次,一次用于名称,一次用于版本)
  • \s+(\([^)]+\))?是必需的空格,可选地后跟括号括起来的非括号字符

但是这并没有处理多个子用户代理字符串,我不确定在定义评论时是否遗漏了一些内容。

0 个答案:

没有答案