for example I have txt with content
qqqqaa
qqss
ss00
I want to replace only one q at the beginning of line, that is to get
qqqaa
qss
ss00
I tried replace ^q
in notepad++. But After I click replaceAll, I got
aa
ss
ss00
What is wrong? Is my regex wrong? What is the correct form?
The issue is that Notepad++ Replace All functionality replaces in a loop using the modified document.
The solution is to actually consume what we need to replace and keep within one regex expression like
and replace with
$1
.The pattern will find a
q
at the beginning of the line and then will capture into Group 1 zero or more occurrences ofq
after the firstq
, and in the replacement part the$1
will insert theseq
s inside Group 1 back into the string.You can use
^q(.+)
and replace with$1
if you also want to replace single q's.