Search code examples
regexnotepad++

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


I have the following line from which I want to replace space with whitespace (tab) but want to keep the spaces within the double quotes as it is. I am on 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 - -

Desired output:

[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    -   -

Through the following regex I was able to select the string under the double quotes, but it's of no use for me.

"([^"]*)"

Can you please help me how this can be achieved?


Solution

  • You can use

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

    Replace with (?1$1:\t).

    Details:

    • ("[^"]*") - Capturing group 1: a ", then zero or more chars other than " and then a "
    • | - or
    • [ ] - matches a space (you may remove [ and ] here , they are used to make the space pattern visible in the answer).

    See the demo screenshot:

    enter image description here