如何在 Notepad++ 中排除双引号内的搜索模式

How can I exclude search pattern within double quotes in Notepad++

我有以下行,我想用白色 space(制表符)替换 space,但希望将 space 保持在双引号内。我在 Notepad++.

[11/May/2020:10:10:20 -0400] "GET / HTTP/1.1" 302 523 52197 url.com - - TLSv1.2 19922 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" https://somelinkhere - -

期望的输出:

[11/May/2020:10:10:20   -0400]  "GET / HTTP/1.1"    302 523 52197   url.com -   -   TLSv1.2 19922   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"   https://somelinkhere    -   -

通过下面的正则表达式,我能够 select 双引号下的字符串,但它对我没有用。

"([^"]*)"

你能帮我实现这个目标吗?

您可以使用

("[^"]*")|[ ]

替换为(?1:\t)

详情:

  • ("[^"]*") - 捕获第 1 组:一个 ",然后是 " 以外的零个或多个字符,然后是 "
  • | - 或
  • [ ] - 匹配 space(您可以在此处删除 [],它们用于使 space 模式在回答)。

查看演示截图: