我正在尝试从LOG文件中的URL中提取一些数据,而我几乎就在那里,但最后一部分我被困住了。
这是我到目前为止提出的正则表达式,
(\?.*\s+)
我正在使用的网址示例
json?userId=1234&email=blahblah@blah.com HTTP/1.1
我想退出
userId=1234&email=blahblah@blah.com
跨越多行类似的URL行。上面的正则表达式在开始时获得了正确的东西,但是在空格之后并没有停止。我错过了什么让它不包括?并正确地在白色空间结束?
编辑:澄清一点问题。
答案 0 :(得分:1)
答案 1 :(得分:0)
这适用于sed。
echo“json?userId = 1234& email=blahblah@blah.com HTTP / 1.1”| sed的/.*?\(。* \)\ s。* $ / \ 1 /
你可能也试试。 (\?[^ \ S] +) 在?之后匹配尽可能多的空格字符