如何使用正则表达式解析 http 标头中的 USER-AGENT 字段



我想从User-Agent: HTTP标头中解析一些信息。问题是我在同一个 HTTP 请求中获得了两个User-Agent: HTTP 标头:

CONNECT www.facebook.com:443 HTTP/1.1
Host: www.facebook.com
Proxy-Connection: keep-alive
User-Agent: Mozilla/5.0 (http://iim.com/a.jph) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.
CONNECT www.facebook.com:443 HTTP/1.1
Host: www.facebook.com
Proxy-Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.
CONNECT www.facebook.com:443 HTTP/1.1

我希望正则表达式与非 http 部分匹配,例如 Windows NT 6.1;哇64.我正在使用的流分析器软件 java 正则表达式引擎。

我的尝试

User-Agent:s+.*?((.*?))

它匹配两者;我想跳过它的http部分。

使用负前瞻来防止 http 的匹配:

User-Agent:s+.*?((?!http)(.*?))

尽管您可能希望将.*?更改为否定类:

User-Agent:[^(]+((?!http)([^)]+))

相关内容

最新更新